2009-10-04 3 views
8

작은 asp.net mvc 앱을 만들고 있습니다. 몇 가지 CSV 파일 (5 ~ 10 개 파일)의 데이터를 계산해야합니다.asp.net mvc 웹 응용 프로그램에 대한 텍스트 파일을 SQL Server 데이터베이스에 저장하는 가장 좋은 방법은 무엇입니까?

응용 프로그램에서 이러한 파일에 대한 업로드 및 다운로드 작업을 제공해야합니다.

경험이없는 부분은 데이터베이스입니다. 어떤 열 유형을 사용해야합니까? 텍스트, 이미지, 바이너리? 파일의 크기는 80KB에서 500KB 사이입니다.

+0

실제로 데이터베이스에있는 개체로 전체 파일을 저장하려고, 또는 당신은 단순히 테이블에서 csv 파일 내의 데이터를 업로드하려면 어떻게합니까? – flayto

+0

파일을 엔티티로 저장하려고합니다. – andreiursan

답변

11

TEXT, NTEXTIMAGE은 더 이상 사용되지 않습니다. 새로운 개발에는 사용하지 마십시오. 향후 SQL Server 버전에서 제거 될 예정입니다.

SQL Server 2005 이상에서는 순수 텍스트 파일 (예 : 소스 코드 또는 CSV 파일)을 처리하는 경우 VARCHAR(MAX)/NVARCHAR(MAX)을 사용하고, 이진 파일을 처리하는 경우 VARBINARY(MAX)을 사용하십시오.

각 단일 파일에 대해 최대 2GB의 저장 공간을 허용하며 모든 일반 T-SQL 문자열 기능을 사용하여 조작 할 수 있습니다 (즉 (N) VARCHAR (MAX) 필드).

SQL Server 2008을 사용하는 경우 FILESTREAM 속성의 VARBINARY(MAX) 열에도 추가 옵션이 있습니다. 이를 통해 트랜잭션 및 데이터 무결성을 유지하면서 SQL Server 시스템의 파일 시스템에 데이터베이스 테이블 대신 파일을 저장할 수 있습니다.

FILESTREAM은 일반적으로 크기가 1MB를 초과하거나 2GB 이상을 필요로하는 파일 (보통 VARBINARY(MAX) 열에 2GB를 초과하여 저장할 수 없음)에 권장됩니다.

마크

+2

완전성을 위해 FILESTREAM 유형을 제한하지 않음을 언급합니다. – whatnick

+0

모두 감사합니다! 해결되었으므로 FILESTREAM을 사용하겠습니다. – andreiursan

관련 문제