如何使用脚本将VARBINARY脚本从一个DB复制到另一个DB?

时间:2011-01-28 09:20:09

标签: sql-server tsql insert ado.net varbinary

我需要生成一个SQL插入脚本来将数据从一个SQL Server复制到另一个SQL Server。 因此,使用.net,我正在读取给定SQL Server表的数据并将其写入新的文本文件,然后可以执行该文件以便将此数据插入到其他数据库中。

其中一列是VARBINARY(MAX) 我应该如何将获得的byte []转换为脚本的文本,以便它仍然可以插入到其他数据库中?

SSMS将此数据显示为十六进制字符串。这是使用的格式吗? 我可以使用以下

获得相同的格式
BitConverter.ToString(<MyByteArray>).Replace("-", "")

但又如何插入呢? 我试过了

CONVERT(VARBINARY(MAX), "0xMyHexString")

这是一个插入,但是该值与源表中的值不同。

2 个答案:

答案 0 :(得分:14)

原来你可以直接插入十六进制字符串,无需转换任何东西:

INSERT TableName (VarBinColumnName) 
VALUES (0xMyHexString)

请不要问为什么我没有直接测试...

答案 1 :(得分:0)