バックエンド: FileStream が有効になっている SQL Server 2008 データベース
データ アクセス: Linq からエンティティへ
現在、ファイル サーバーに存在する何千もの pdf があります。これらの pdf をファイル サーバーから SQL Server 2008 データベースに移動して、簡単に管理できるようにしたいと考えています。
概念実証 (つまり、SQL Server 2008 の新しい FileStream 機能が探しているものであることを確認するため) として、エンティティ フレームワークを介してこれらの pdf を FileStream 対応データベースに読み書きする小さなアプリを作成しました。
アプリはとてもシンプルです。コードは次のとおりです。
datReport report = new datReport();
report.ReportName = "ANL-7411-Rev-Supp-1.pdf";
report.RowGuid = Guid.NewGuid();
// The following line blows up on really big pdf's (350+ mb's)
report.ReportData = File.ReadAllBytes(@"C:\TestSavePDF\ANL-7411-Rev-Supp-1.pdf");
using (NewNNAFTAEntities ctx = new NewNNAFTAEntities()) {
ctx.AddTodatReport(report);
ctx.SaveChanges();
}
エラーが発生した上記のコード行にコメントがあります。正確なエラーは「System.outofmemoryexception」であり、ファイル サイズが問題の原因であることに疑いの余地はありません。上記のコードは、より小さい pdf で機能します。ファイルサイズに関する正確な制限がどこにあるかはわかりませんが、私の最大のpdfは350メガバイトを超えており、エラーが発生します.
どんな助けでも大歓迎です。ありがとう!