我刚刚在我的sqlserver名称exporttable中创建了一个新表 现在我正试图推出使用cmd bcp但是得到以下错误:
SQLState = S1000,NativeError = 0错误= [Microsoft] [ODBC驱动程序13 for SQL Server]无法打开BCP主机数据文件
这是我的路径:
C:\Users\Serge>BCP Testing.bdo.Exporttable out "C:\Users\Serge\Desktop" -C -T
任何人都可以提供帮助吗?
在尝试Shnugos建议添加文件名后,我收到了这个错误:
SQLState = S0002,NativeError = 208错误= [Microsoft] [ODBC驱动程序13 for SQL Server] [SQL Server]无效的对象名称 'Testing.bdo.ExportTable'。 SQLState = 37000,NativeError = 11529错误 = [Microsoft] [SQL Server的ODBC驱动程序13] [SQL Server]无法确定元数据,因为每个代码路径都会导致错误; 查看其中一些错误。 -
答案 0 :(得分:3)
从我犯的错误中,无法打开数据文件:
C:\Users\Serge>BCP Testing.bdo.Exporttable out "C:\Users\Serge\Desktop\MyFile.txt" -C -T
我认为,您必须在\Desktop
后面添加一个文件名。 桌面是现有目录,无法以文件形式打开...
并且 - 顺便说一下 - 可能需要添加-S Servername
...
找到此here
每当我收到此消息时,都会因为以下三种情况之一:
1)路径/文件名不正确(检查您的输入/拼写)
2)该文件不存在。 (确保文件在您期望的位置 是)
3)该文件已被其他应用程序打开。 (关闭其他应用程序 发布文件)
对于1)和2) - 记住路径是相对于bcp的位置 执行。确保bcp.exe可以访问它的文件/路径 上下文。
/肯尼斯
答案 1 :(得分:2)
我知道这是旧的,但您的架构似乎也拼写错误。 C:\Users\Serge>BCP 测试。bdo。可导出“C:\Users\Serge\Desktop” -C -T
s/b
C:\Users\Serge>BCP 测试。dbo。可导出“C:\Users\Serge\Desktop”-C -T
答案 2 :(得分:1)
运行:EXEC master..xp_cmdshell'DIR C:\ Users \ Serge \ Desktop',这将显示您是否有权访问该路径。
请记住,如果您正在远程或通过网络访问SQL,则输出即。 “ C:\ Users \ Serge \ Desktop”将是SQL Server上的C驱动器,而不是您正在使用的远程PC。
答案 3 :(得分:0)
如果您通过xp_cmdshell运行BCP,请运行以下命令 - > xp_cmdshell' whoami&#39 ;; 走 - 确保您获得的任何用户价值都可以完全访问相关文件