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;
ぜんぜん試していませんが...
FDQuery1.SQL.Text := 'SET ANSI_WARNINGS OFF;';
FDQuery1.ExecSQL;
とかじゃないですか?
返事が遅くなり申し訳ありませんでした。
通りすがりさんの言われた方法で登録できるようになりました。
また桁数オーバーしていたフィールドも判明しましたので
桁数オーバーしないようにコードを修正して対応することにします。
解決チェック忘れていました。
ツイート | ![]() |