我得到了一个包含变量二进制数据的表tblScan。我想将这个表导出到一个XML文件中,这样我就可以用BCP大容量插入在SQL azure中插入它。( BTW甚至可以将变量二进制数据转换为XML ?? )
我在做:
DECLARE @String varchar(8000)
SET @String='bcp "SELECT * FROM dbo.tblScan FOR XML RAW, XMLSCHEMA" queryout C:\Users\DAAGEU\Desktop\tblScanOutput.xml -c -T'
EXEC xp_cmdshell @String但是我得到了输出错误:

还有其他解决方案吗?
发布于 2012-01-10 12:08:30
这实际上是VarBinary和R2的一个问题(在SQL2008XML中):
对于XML,显式和原始模式目前不支持将二进制数据作为SomeComlumn列中的URL进行寻址。删除列,或使用二进制BASE64模式,或使用‘dbobject/TABLE@PK1 1=“V1”/@COLUMN’语法直接创建URL。
快速搜索显示为这个职位。
是否存在要在XML中导出的部分原因?我一直使用默认的二进制输出使用bcp,VarBinary字段没有问题。二进制文件比XML文件要小得多。如果您不想在导出和导入之间做任何操作,我建议您使用二进制文件。
尝试将查询更改为:
SET @String='bcp "SELECT * FROM dbo.tblScan FOR XML RAW, BINARY BASE64" queryout C:\Users\DAAGEU\Desktop\tblScanOutput.xml -c -T'但是,从日志中可以看到,您当前的问题是登录。您使用的是受信任的连接,但是当Server引擎生成bcp进程时,您知道哪个标识正在运行吗?它很可能是Server标识,我猜它没有访问数据库/表的权限(而且大多数可能是本地系统或网络服务)。如果您仍然希望使用SQL查询,而不是批处理文件(.bat或.cmd),我建议您使用显式登录凭据( Server ),而不是信任连接。
https://stackoverflow.com/questions/8801697
复制相似问题