asp.net MVC Webアプリケーションのために、SQL Serverのデータベースにテキストファイルを格納するための最良の方法はどれですか?
-
19-09-2019 - |
質問
私は小さなasp.net MVCアプリを作ってるんです。私はいくつかのデータを計算するために持っています CSVファイル(5〜10ファイル間)。
アプリケーションがアップロードを提供し、これらのファイルのアクションをダウンロードする必要があります。
私が経験を持っていない部分は、データ・ベースです。私は何列タイプを使用する必要がありますか?テキスト、画像、バイナリ?ファイルのサイズは500キロバイトに80キロバイトbetweentになります。
解決
種類のTEXT
、NTEXT
とIMAGE
は廃止されました - 新しい開発のためにそれらを使用しないでください。彼らは良いの将来のSQL Serverのバージョンから削除されます。
SQL Server 2005およびアップのために、あなたは純粋なテキスト(ソースコードやCSVファイルなど)のファイル、またはVARCHAR(MAX) / NVARCHAR(MAX)
を扱っている場合は、バイナリファイルを扱っている場合VARBINARY(MAX)
を使用します。
これらは、それぞれの単一ファイル用のストレージの2ギガバイトまで可能にし、あなたは(つまり、(N)VARCHAR(MAX)フィールド)それらを操作するためにそれらのすべての通常のT-SQLの文字列関数を使用することができます。
FILESTREAM
列にVARBINARY(MAX)
属性 - SQL Server 2008を使用している場合は、、追加のオプションもあります。これは、あなたは、トランザクションとデータの整合性を維持しながら、(代わりに、データベーステーブルの)SQL Serverマシンのファイルシステム内のファイルを保存することができます。
FILESTREAMは、一般的に、通常はサイズが1 MBより大きい、または(あなたが定期的にVARBINARY(MAX)
列に2GB以上を格納することはできませんので)あなたがこれまでに2 GB以上が必要な場合は、ファイルのために推奨されます。
マルク