Das ist der beste Weg zum speichern von text-Dateien in eine Sql Server-Datenbank für eine asp.net mvc-web-Anwendung?
Mache ich eine kleine asp.net mvc-app. in die ich zum berechnen von Daten aus mehreren
CSV-Dateien ( zwischen 5 bis 10 Dateien).
Muss die Anwendung bieten, upload-und download-Aktionen für diese Dateien.
Dem Teil, wo ich keine Erfahrung habe, ist die Datenbank. Welche Spalte Typ sollte ich verwenden? text -, image -, binary ? die Größe einer Datei werden betweent 80KB zu 500KB
- Sind Sie tatsächlich versuchen, speichern Sie die gesamte Datei als eine Entität in der Datenbank, oder wollen Sie sich einfach zum hochladen der Daten innerhalb der csv-Datei in eine Tabelle?
- Ich möchte speichern Sie die Datei als eine Einheit.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Typen
TEXT
,NTEXT
undIMAGE
sind obsolet - verwenden Sie Sie nicht für die neue Entwicklung. Sie werden in zukünftigen SQL Server-version für gut.Für SQL Server 2005 und höher, verwenden
VARCHAR(MAX) /NVARCHAR(MAX)
wenn man sich mit reinen text-Dateien (wie source-code-oder CSV-Dateien), oderVARBINARY(MAX)
wenn Sie Umgang mit binären Dateien.Diese erlauben bis zu 2 GB Speicher für jede einzelne Datei, und Sie können alle üblichen T-SQL-string-Funktionen auf, um Sie zu manipulieren (das (N)VARCHAR(MAX) - Felder, das ist).
Wenn Sie SQL Server 2008 verwenden, es gibt auch eine zusätzliche option - die
FILESTREAM
Attribut aufVARBINARY(MAX)
Spalten. Dies ermöglicht Ihnen, speichern Sie die Dateien in der SQL Server-Maschine die Datei-system (anstelle des Datenbank-Tabellen) unter Beibehaltung Transaktions-und Datenintegrität.FILESTREAM für Dateien empfohlen, sind in der Regel und in der Regel größer als 1 MB in der Größe, oder wenn Sie jemals brauchen mehr als 2 GB (da man nicht speichern kann mehr als 2 GB in einem normalen
VARBINARY(MAX)
Spalte).Marc