如何在SQL Server 2008中插入字节数组作为文本?

如何在SQL Server 2008中插入字节数组作为文本?,sql,sql-server,insert,Sql,Sql Server,Insert,在我的测试项目中,我使用一个带有正确sql insert语句的文本文件进行批量加载。我将此语句应用于空表以加载数据。但我面临着编写字节数组的问题 如何编写用于传递字节数组的正确insert语句?SQL Server 2008是否将字节数组理解为十六进制字符串 补充 我需要一些可以应用于SQL Server的字符串来插入字节数组。 诸如此类: INSERT INTO T(SomeBlobColumn) VALUES (0x666F6F) 或 你可以尝试这种方法(在c中): 您可以使用INSERT

在我的测试项目中,我使用一个带有正确sql insert语句的文本文件进行批量加载。我将此语句应用于空表以加载数据。但我面临着编写字节数组的问题

如何编写用于传递字节数组的正确insert语句?SQL Server 2008是否将字节数组理解为十六进制字符串

补充 我需要一些可以应用于SQL Server的字符串来插入字节数组。 诸如此类:

INSERT INTO T(SomeBlobColumn) VALUES (0x666F6F)


你可以尝试这种方法(在c中):


您可以使用
INSERT-INTO T(SomeBlobColumn)值(0x666F6F)
如果您是这样问的话?@MartinSmith,这是否意味着0x。。。字节数组的写入是否正确?这就是在TSQL语句中表示二进制文字的方式。但我不确定你是不是想这么做?您还可以使用bcp实用程序或应用程序代码从TSQL中的文件导入二进制数据…我假设您发布了一些c#代码,但我不确定您如何知道OP正在尝试使用该方法。+1。由于OP使用的是NHibernate,正如它发布的问题一样,我认为编写一个小型实用程序不是问题。
INSERT INTO T(SomeBlobColumn) VALUES (CAST('666F6F' AS BINARY))
using(SqlCommand cmd = new SqlCommand("INSERT INTO TableName(BinaryColumn) VALUES (@InputParameter)", sqlConnection))
{
    cmd.Parameters.Add("@InputParameter", SqlDbType.VarBinary, 8000).Value = byteArray;
    cmd.ExecuteNonQuery();
}