Как я могу вставить массив байтов в виде текста в SQL Server 2008? - PullRequest
1 голос
/ 14 января 2012

Извините за мой английский.

Я использую текстовый файл с правильным SQL-оператором вставки для массовой загрузки в моем тестовом проекте. Я применяю это утверждение к пустой таблице для загрузки данных. Но я столкнулся с проблемой записи массива байтов.

Как я могу написать правильный оператор вставки, который я использовал для передачи массива байтов? Будет ли SQL Server 2008 понимать массив байтов в виде шестнадцатеричной строки?

Добавлено: Мне нужна строка, которую я могу применить к SQL Server, чтобы вставить массив байтов. Примерно так:

INSERT INTO T(SomeBlobColumn) VALUES (0x666F6F)

или

INSERT INTO T(SomeBlobColumn) VALUES (CAST('666F6F' AS BINARY))

1 Ответ

2 голосов
/ 14 января 2012

Вы можете попробовать этот подход (в c #):

using(SqlCommand cmd = new SqlCommand("INSERT INTO TableName(BinaryColumn) VALUES (@InputParameter)", sqlConnection))
{
    cmd.Parameters.Add("@InputParameter", SqlDbType.VarBinary, 8000).Value = byteArray;
    cmd.ExecuteNonQuery();
}
...