Mar*_*arc 9 t-sql sql-server ado.net insert varbinary
我需要生成一个SQL插入脚本来将数据从一个SQL Server复制到另一个SQL Server.因此,使用.net,我正在读取给定SQL Server表的数据并将其写入新的文本文件,然后可以执行该文件以便将此数据插入到其他数据库中.
其中一列是VARBINARY(MAX).
我应该如何将获得的byte []转换为脚本的文本,以便它仍然可以插入到其他数据库中?
SSMS将此数据显示为十六进制字符串.这是使用的格式吗?我可以使用以下相同的格式
BitConverter.ToString(<MyByteArray>).Replace("-", "")
Run Code Online (Sandbox Code Playgroud)
但是如何重新插入呢?
我试过了
CONVERT(VARBINARY(MAX), "0xMyHexString")
Run Code Online (Sandbox Code Playgroud)
这会进行插入,但该值与源表中的值不同.
Mar*_*arc 14
原来你可以直接插入十六进制字符串,不需要转换任何东西:
INSERT TableName (VarBinColumnName)
VALUES (0xMyHexString)
Run Code Online (Sandbox Code Playgroud)
只是不要问为什么我没有直接测试这个...