1

我正在尝试从 SQL 保存 XML 文件。我正在做类似的事情:

DECLARE @FileName VARCHAR(100)
DECLARE @db VARCHAR(100)
DECLARE @SQLCmd VARCHAR(1000)

SELECT  @FileName = 'D:\ProductsList.xml'
SELECT  @db='MyBase.dbo.'

SELECT  @SQLCmd = 'bcp "SELECT '+@db+'ArticleName FROM '+@db+' ARTICLES' +
                   ' FOR XML PATH(''Product''),ELEMENTS, ROOT(''Products''), TYPE "' +
                   ' queryout '+@FileName +' -w -T -S' + @@SERVERNAME 

EXECUTE master..xp_cmdshell @SQLCmd

对我来说,一台 sql 服务器可以正常工作,但另一台却失败了。我收到消息“错误 = [Microsoft][SQL Server Native Client 11.0]无法打开 BCP 主机数据文件”。

不幸的是,Bcp、queryout、cmdshell 对我来说都是新的。

我正在阅读很多网站,它们都有一些有趣的信息,但我真的不知道如何开始。

他们说 - 为运行脚本的用户添加权限。但是,如果不是我,这个用户是谁?;) 是否为运行 SQL Server 创建了一些“自动”Windows 用户或什么?我在哪里可以看到这个用户并配置他的权限以便它可以保存我的文件?

或者也许我应该知道 bcp 和 cmdshell 的其他一些问题?

非常感谢您的帮助。我真的被困住了:(

4

0 回答 0