データは実際にはバイナリですが、MSSQL データベースに varchar として格納されているレガシー データがあります。新しいアプリケーションでは、OleDbCommand を使用しています (共通コードを使用して MSSQL+Oracle+Sybase データベースにアクセスしようとしているため)。
次を実行して、データベースからデータを取得できます。
DA.SelectCommand.CommandText = "select
sequence_num, summary_num, line_num, CONVERT(varbinary, other_information) other_information
from alex_test_bin";
ただし、挿入コマンド:
DA.InsertCommand.CommandText = "insert into alex2_test_bin
(sequence_num, summary_num, line_num, other_information)
values(?, ?, ?, CONVERT(varchar, ?))";
このエラーがスローされます (「DA.Update(DT);」中に発生します):
1 つ以上の必須パラメーターに値が指定されていません。
現在、alex_test_bin からデータを読み取り、そのデータを alex2_test_bin に挿入しようとしています。読み取りと書き込みの合間に、DT からの各行でメソッド 'SetAdded()' を使用して、それらのすべての行が挿入されるようにします。
私の挿入文は間違っていますか?それを修正し、挿入ステートメント内で関数を使用できるようにする方法はありますか? SQLマネージャーからinsertステートメントを手動で正常に実行しました。