【问题标题】:BCP: Error Running BCP in SQL Server but not in cmdBCP:在 SQL Server 中但在 cmd 中运行 BCP 时出错
【发布时间】:2017-10-25 13:50:33
【问题描述】:

我可以在命令行上运行bcp 命令,但不幸的是,在 SQL Server 中尝试时,我看到以下错误:

错误 = [Microsoft][SQL Server Native Client 11.0]无法打开 BCP 主机数据文件

这是我在 SQL Server 中使用的代码:

EXEC xp_cmdshell 'bcp "SELECT ''col1'', ''col2'' union all select col1, col2FROM [kat].[dbo].[Table_Data] WITH (NOLOCK)" queryout ''C:\Users\kata\exportFiles\FirstTestOutput.csv''  -t; -c -T' 

引号“'”可能是错误的吗?

非常感谢,

凯特

【问题讨论】:

  • 这意味着SQL Server服务帐户无法访问路径C:\Users\kata\exportFiles\FirstTestOutput.csv。这看起来像一个本地用户特定的路径。让它更通用,比如C:\temp\output.csv
  • 谢谢,但更改后我发现同样的问题
  • 好的,我更改了命令和文件夹,现在它可以工作了,但为什么在某些位置而不是其他位置工作?

标签: sql sql-server delimiter bcp


【解决方案1】:

'xp_cmdshell' 必须以“某人”身份运行。它不像你那样运行。它作为“SQL Server 服务帐户”运行。那是在“服务小程序”中设置的帐户。默认情况下,它是一个无权访问您的个人文件夹的帐户。因此,您要么更改此服务帐户以拥有更多权限,要么只使用它有权访问的文件夹。

【讨论】:

    猜你喜欢
    • 2013-07-13
    • 2020-04-19
    • 2019-01-20
    • 2021-12-05
    • 1970-01-01
    • 2017-07-22
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多