2011-05-12 61 views
1

我执行XP_CMDSHELL如下:XP_CMDSHELL BCP错误

Exec XP_CMDSHELL 'bcp "Select OrderID, OrderDate, OrderDesc from DB.dbo.Order" queryout C:\Orderfile.txt -k -t \t -c -Slocalhost -T' 

我得到了以下错误:

“无法打开BCP主数据文件。”

我查看了c:\驱动器,并且存在一个文件Orderfile.txt。并且我还没有打开该文件或任何其他程序不是该文件。但我仍然得到这个错误。

任何人都知道为什么我得到这个错误?先谢谢你。

回答

2

一个两个问题:

  • XP_CMDSHELL使用的文件系统(及其他)访问SQL Server服务帐户凭据。该服务帐户将不具有权限的根目录C:和可以看到它没关系

  • SQL Server位于服务器某处(即,不是本地安装)并且您正试图访问您的本地C:驱动器。 SQL Server无法看到这个当然...

+0

谢谢你,我在服务器上创建了文件,它工作正常。 – niceApp 2011-05-12 19:02:53

0

应该有驱动器的完整权限。 文件是自动创建的。 EXEC master..xp_cmdshell 'BCP “SELECT * FROM [测试] [DBO] [客户]。” QUERYOUT C:\备份\ customer123.txt -S HP-PC -T -c'

enter image description here