【发布时间】:2011-01-28 09:20:09
【问题描述】:
我需要生成一个 SQL 插入脚本来将数据从一个 SQL Server 复制到另一个。 因此,使用 .net,我正在读取给定 SQL Server 表的数据并将其写入一个新的文本文件,然后可以执行该文件以便将这些数据插入其他数据库。
其中一列是 VARBINARY(MAX)。
我应该如何以及如何将获得的 byte[] 转换为脚本的文本,以便它仍然可以插入到其他数据库中?
SSMS 将此数据显示为十六进制字符串。这是要使用的格式吗? 我可以通过以下方式获得相同的格式
BitConverter.ToString(<MyByteArray>).Replace("-", "")
但是如何再次插入呢?
我试过了
CONVERT(VARBINARY(MAX), "0xMyHexString")
这会进行插入,但值与源表中的值不同。
【问题讨论】:
-
您是否有不想使用批量复制或 SSIS 功能的原因?
-
是的,我将生成的脚本包含在一个只运行此脚本的应用程序中。该应用程序已经存在并且到目前为止一切正常,所以我不想更改它。它只是还不适用于 VARBINARY 列。
标签: sql-server tsql insert ado.net varbinary