0

C#を使用して(最終的には大きな)ファイルをDBに保存するコードが必要です。

私が使用しているソリューションは次のようなものです:(DBでvarbinary(MAX)列を使用しています)

1)SqlCommandを作成します

2)SqlParameterを作成します

3)parameter.Value = File.ReadAllBytes(filePath)を設定します

4)SqlCommandを実行します

もっと効果的な解決策はありますか?ファイルが大きくなる可能性があるため、すべてのバイトをメモリに読み込んでDBに保存するときに、パフォーマンスの問題が発生する可能性があります。

前もって感謝します

4

2 に答える 2

4

私は今同じ問題に直面しています。varbinaryフィールドに順番に書き込む方法があります。この記事を参照してください:'ASP.NETMVCを介してSQLServerからイメージをダウンロードおよびアップロードする' http://www.codeproject.com/KB/aspnet/streamingblobhttp.aspx

次のようなコマンドを使用する方法を示しています。

UPDATE <table> SET <field>.WRITE(@data, null, null) WHERE ...

これにより、ファイル全体を読み取ることなく、データのチャンクを列に書き込むことができます。

于 2012-01-06T15:28:54.073 に答える
1

あなたが持っているものはあなたがvarbinary(MAX)コラムで得ることができる最高のものです。データベースからデータをストリーミングすることはできますが、ストリーミングする方法はありません。

于 2011-01-17T20:20:08.627 に答える