如何使用脚本将 blob(二进制数据)从一个 DB 复制到 DB?

Nis*_*ant 11 sql-server blob

我们正在尝试blob使用一个简单的脚本将(二进制数据)从一个数据库复制到另一个数据库。这是我们要做的步骤。

  1. 使用 MSSQL Studio 客户端选择值。
  2. 将其复制到剪贴板。
  3. 使用 将其粘贴到INSERT脚本中notepad
  4. 将其应用到目标数据库中。

我们注意到值现在是一个以ASCII它开头的值,0x255....它似乎是数据的hexadecimal表示binary。有没有办法在插入过程中将其转换回二进制?

有没有更好的方法来blob使用脚本复制数据?假设,我们没有直接连接到目标数据库。

小智 14

我将使用 SQL Server Management Studio 中的“生成脚本”选项。

  1. 在对象资源管理器中 - 突出显示托管源表的数据库。
  2. 右键菜单 - 任务 | 生成脚本
  3. 选择特定的表对象 - 单击下一页
  4. 单击高级按钮
  5. 在常规选项下 -将数据类型到脚本”更改为仅数据
  6. 保存到文件 - 根据需要更改文件夹和文件名。

我用一个存储varbinary字段的表尝试了一个简单的测试。脚本过程的输出看起来没问题:

USE [TestDB]
GO
/****** Object:  Table [dbo].[tjc_blob]    Script Date: 07/04/2017 14:46:23 ******/
INSERT [dbo].[tjc_blob] ([id], [datablob])
VALUES (1, 0x6162636465666768696A6B6C6D6E6F707172737475767778797A)
Run Code Online (Sandbox Code Playgroud)