1

ASP.NET MVC3でアプリケーションを開発していて、SQL Server 2008でファイルをアップロードしようとしていますが、varbinary(MAX) DBで私はそれをアップロードするための下のコードがありますが、私はエラー "文字列またはバイナリデータが切り捨てられます。ステートメントが終了しました"と私はそれがデータベースのエラーだと思うどこに私の問題だと思いますか?ありがとうASP.NET MVC3でファイルをアップロードする際に「文字列またはバイナリデータが切り捨てられる」

if (UploadedFile != null) 
      { 
       App_MessageAttachment NewAttachment= new App_MessageAttachment { FileName = UploadedFile.FileName, FilteContentType = UploadedFile.ContentType, MessageId = NM.Id, FileData = new byte[UploadedFile.ContentLength] }; 
       UploadedFile.InputStream.Read(NewAttachment.FileData, 0, UploadedFile.ContentLength); 
       db.App_MessageAttachments.InsertOnSubmit(NewAttachment); 
       db.SubmitChanges(); 
      } 
+2

です。データとテーブル定義を共有してヘルプを入手する必要があります。 – JNK

答えて

4

これはデータベースエラーですが、必ずしも挿入のファイル部分に関連付けられているとは限りません。 FileName、FileContentType、およびMessageIdがすべてデータベースのフィールドに収まるのに十分短いことを確認してください。

+0

ありがとう!正確な答え、問題は、FileName – ePezhman

0

Management Studio - >ツール - > SQLプロファイラから始めます。 データベースをポイントして、アップロードをもう一度実行してください。アプリでエラーが表示された後、一時停止または停止を押し、トレースウィンドウ内でエラーメッセージを検索します。これは、このメッセージを生成したSQLを提供します。解決策がすぐにあなた自身に提示されない場合は、失敗したステートメントを使用して投稿を編集します。ここで

は、いくつかのプロファイラのリソースは、それはあなたの文字列フィールドの一つは、あなたがそのフィールドのために挿入されているテーブル定義よりも長いことを意味する

SQL Server Profiler Step by Step

How To: Use SQL Profiler

関連する問題