Dem*_*ema 5 sql t-sql sql-server stored-procedures blob
我需要从SQL Server 2005数据库中提取一些BLOB数据并生成一个SQL脚本,以将该相同数据插入另一个服务器中的另一个数据库中.
我只允许使用SQL脚本执行此操作,我不能使用任何其他实用程序或使用Java或.NET编写程序来执行此操作.
我的另一个重要限制是,当我运行脚本时,我无法访问原始数据库(原始BLOB数据所在的位置),将BLOB数据复制到目标数据库,因此数据应该已经在SQL脚本文件.
总结:有没有办法将BLOB数据编码为文本,以便我可以将其转储到脚本文本文件中的SQL INSERT命令中并运行它?
如果需要,我可以运行特殊的T-SQL语句和存储过程.
TEXTCOPY 是 SQL Server 7.0 和 2000 中包含的示例应用程序,但在 SQL Server 2005 中不再可用。
然而,在 SQL Server 2005 中搜索 TEXTCOPY 时,我发现这个替代方法可能可以解决问题:
http://sequelserver.blogspot.com/2007/01/texcopy-sql-server-2005.html
它依赖于从文件系统写入和读取二进制数据,这在我的情况下并不理想(理想情况下我想使用 SQL 脚本文本文件本身对二进制数据进行编码),但它是迄今为止我发现的最好的。
这是关于如何使用 BULK OPENROWSET 进行二进制导入/导出操作的另一个很好的来源: http://msdn.microsoft.com/en-us/library/ms191184.aspx