Welches ist der beste Weg, um Textdateien in einer Sql Server-Datenbank für eine asp.net mvc Web-Anwendung zu speichern?

8

Ich mache eine kleine asp.net mvc App. in dem ich Daten von mehreren berechnen muss CSV-Dateien (zwischen 5 und 10 Dateien).

Die Anwendung muss Upload- und Download-Aktionen für diese Dateien bereitstellen.

Der Teil, wo ich keine Erfahrung habe, ist die Datenbank. Welchen Spaltentyp sollte ich verwenden? Text, Bild, binär? Die Größe einer Datei liegt zwischen 80KB und 500KB

    
andreiursan 04.10.2009, 14:40
quelle

1 Antwort

12

Die Typen TEXT , NTEXT und IMAGE sind veraltet - verwenden Sie sie nicht für die Neuentwicklung. Sie werden endgültig aus einer zukünftigen SQL Server-Version entfernt.

Verwenden Sie für SQL Server 2005 und höher VARCHAR(MAX) / NVARCHAR(MAX) , wenn Sie mit reinen Textdateien (wie Quellcode oder CSV-Dateien) arbeiten, oder VARBINARY(MAX) , wenn Sie mit Binärdateien arbeiten.

Diese erlauben bis zu 2 GB Speicher für jede einzelne Datei, und Sie können alle üblichen T-SQL-String-Funktionen verwenden, um sie zu manipulieren (die (N) VARCHAR (MAX) -Felder, dh).

Wenn Sie SQL Server 2008 verwenden, gibt es auch eine zusätzliche Option - das FILESTREAM -Attribut für VARBINARY(MAX) -Spalten. Dadurch können Sie die Dateien im Dateisystem des SQL Server-Rechners (anstelle der Datenbanktabellen) speichern und gleichzeitig die Transaktions- und Datenintegrität wahren.

FILESTREAM wird für Dateien empfohlen, die normalerweise und normalerweise größer als 1 MB sind oder wenn Sie mehr als 2 GB benötigen (da Sie nicht mehr als 2 GB in einer normalen VARBINARY(MAX) -Spalte speichern können).

Marc

    
marc_s 04.10.2009, 14:48
quelle

Tags und Links