「文字列データまたはバイナリ データが切り捨てられます。」

解決


たこ  2015-04-23 17:42:16  No: 47214

DelphiXE7でFireDACを使用しています。
下記コードにて「[FireDAC][Phys][ODBC][Microsoft][SQL Server Native Client10.0][SQL Server]文字列またはバイナリデータが切り捨てられます。」
とメッセージが表示されデータの登録が出来ないことがあります。
どこかのフィールドが桁数オーバーをしているのでしょうがそれらしきフィールドが見つかりません。
もし桁数オーバーをしても入る分だけ登録する事は可能でしょうか?
検索すると「SET ANSI_WARNINGS OFF;」にて可能になるようですがどのようにプログラムに組み込めばいいのかが分かりません。

FDConnection1.StartTransaction;
try
  FDQuery.Post;
  FDQuery.ApplyUpdates;
  FDConnection1.Commit;
finally
  FDConnection1.Rollback;
 end;


通りすがり  2015-04-23 19:08:08  No: 47215

ぜんぜん試していませんが...
FDQuery1.SQL.Text := 'SET ANSI_WARNINGS OFF;';
FDQuery1.ExecSQL;
とかじゃないですか?


たこ  2015-05-09 00:52:13  No: 47216

返事が遅くなり申し訳ありませんでした。
通りすがりさんの言われた方法で登録できるようになりました。
また桁数オーバーしていたフィールドも判明しましたので
桁数オーバーしないようにコードを修正して対応することにします。


たこ  2015-05-12 21:56:13  No: 47217

解決チェック忘れていました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加