Quale è il modo migliore per archiviare i file di testo in un database di SQL Server, per un'applicazione web mvc asp.net?

StackOverflow https://stackoverflow.com/questions/1516569

Domanda

Sto facendo un piccolo asp.net app MVC. in cui devo calcolare i dati provenienti da diversi file CSV (tra i 5 ei 10 file).

L'applicazione deve fornire upload e scaricare le azioni per questi file.

La parte in cui non ho esperienza è la base di dati. Che tipo di colonna dovrei usare? testo, immagine, binario? la dimensione di un file sarà betweent 80KB a 500KB

È stato utile?

Soluzione

Il tipo TEXT, NTEXT e IMAGE sono obsoleti - non usarle per un nuovo sviluppo. Saranno rimossi da una futura versione di SQL Server per il bene.

Per SQL Server 2005 e in servizio, uso VARCHAR(MAX) / NVARCHAR(MAX) se hai a che fare con i file di testo puro (come il codice sorgente o file CSV), o VARBINARY(MAX) se hai a che fare con i file binari.

Quelli consentire fino a 2 GB di spazio di archiviazione per ogni singolo file, ed è possibile utilizzare tutte le normali funzioni di stringa T-SQL su di loro per manipolarli (N) VARCHAR (MAX) campi (, che è).

Se si utilizza SQL Server 2008, c'è anche un'opzione aggiuntiva - l'attributo FILESTREAM su colonne VARBINARY(MAX). Questo consente di memorizzare i file nel file system del computer SQL Server (invece delle tabelle del database), preservando l'integrità delle transazioni e dei dati.

FILESTREAM è consigliabile per i file che sono in genere e di solito più grandi di 1 MB, o se hai bisogno di più di 2 GB (perché non si può memorizzare più di 2 GB in una colonna VARBINARY(MAX) regolare).

Marc

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top