SqlBulkCopy with Byte [] DataTable列エラー

bytearray c# sqlbulkcopy strongly-typed-dataset

質問

私は、バイナリ(4)のデータベーステーブルフィールドに挿入しようとしているbyte []カラムとして、カラムの1つを持つデータテーブルを含む強く型付けされたデータセットを持っています。バイト列の値を問題なく設定できますが、データテーブルでsqlbulkcopyを実行すると次の例外が発生します。

"データソースからのInt32型の指定された値は、指定されたターゲット列のバイナリ型に変換できません。"

データテーブルは大きなデータテーブルであり、sqlbulkcopyはデータテーブルとデータベーステーブルからバイト[] /バイナリ(4)列を差し引いた状態で正常に動作します。以下は、私が挿入したコードで、.NET 2.0を使用してSqlBulkCopyを壊すものです。

byte[] codeByteArray = GetByteArray();
dt.byteArrayCol = codeByteArray;

...

using(SqlBulkCopy bc = new SqlBulkCopy(conn))
{
    bc.DestinationTableName = dt.TableName;
    bc.WriteToServer(dt);
    bc.Close();
}

受け入れられた回答

私は自分の問題を発見した。私のデータテーブル内のByte []列は、対応するデータベース列の序数と同じ位置にありませんでした。データ列の順序は56で、列の順序は8で、再編成が必要なデータテーブルまたはsqlbulkcopyの列マッピングでした。データテーブルの再編成はずっと簡単で迅速でした。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ