Qual é a melhor maneira de armazenar arquivos de texto em uma base de dados SQL Server, para uma aplicação web asp.net MVC?

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

Pergunta

Eu estou fazendo um aplicativo asp.net MVC pequena. em que tenho de dados de computação de vários arquivos CSV (entre 5 a 10 arquivos).

O aplicativo deve fornecer acções de upload e download destes ficheiros.

A parte onde eu não tenho experiência é a base de dados. Que tipo de coluna devo usar? texto, imagem, binário? o tamanho de um arquivo será 80KB betweent para 500KB

Foi útil?

Solução

A tipos TEXT, NTEXT e IMAGE são obsoletos - não usá-los para um novo desenvolvimento. Eles serão removidos de uma futura versão do SQL Server para o bem.

Para o SQL Server 2005 e para cima, uso VARCHAR(MAX) / NVARCHAR(MAX) Se você está lidando com arquivos de texto puro (como código-fonte ou arquivos CSV), ou VARBINARY(MAX) Se você está lidando com arquivos binários.

Aqueles permitir que até 2 GB de armazenamento para cada arquivo único, e você pode usar todas as funções habituais da corda T-SQL sobre eles para manipulá-los (os N) VARCHAR (MAX) campos (que é).

Se você estiver usando SQL Server 2008, há também uma opção adicional - o atributo FILESTREAM em colunas VARBINARY(MAX). Isso permite que você armazene os arquivos no sistema (em vez das tabelas de banco de dados), preservando a integridade transacional e dados do arquivo da máquina SQL Server.

FILESTREAM é recomendada para arquivos que são normalmente e geralmente maior do que 1 MB de tamanho, ou se você precisar de mais de 2 GB (desde que você não pode armazenar mais de 2 GB em uma coluna VARBINARY(MAX) regular).

Marc

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top