У меня строго типизированный набор данных, содержащий таблицу данных с одним из столбцов в виде столбца byte [], который я пытаюсь вставить в двоичное (4) поле таблицы базы данных. Я могу без проблем установить значения столбца byte [], но получаю следующее исключение при запуске sqlbulkcopy для таблицы данных:
"Заданное значение типа Int32 из источника данных невозможно преобразовать в двоичный тип указанного целевого столбца."
Таблица данных представляет собой большую таблицу данных, и sqlbulkcopy прекрасно работает с таблицей данных и таблицей базы данных, за исключением столбцов byte [] / binary (4). Ниже приведен код, который я вставил, который нарушает SqlBulkCopy с использованием .NET 2.0.
byte[] codeByteArray = GetByteArray();
dt.byteArrayCol = codeByteArray;
...
using(SqlBulkCopy bc = new SqlBulkCopy(conn))
{
bc.DestinationTableName = dt.TableName;
bc.WriteToServer(dt);
bc.Close();
}