BCP.exe out 不识别 table 所以可以写入文件
BCP.exe Out not identifying table so it can be written to a file
当我运行:
EXEC MASTER..xp_cmdshell 'bcp [ServerName\Instance].[DB_Name].[dbo].[r] out
"C:[=12=]\folder\subfolder\filename.csv" -c -t "|" -T'
我收到错误消息:
A valid table name is required for in, out, or format options.
我的目标是简单地将名为 r 的 table 的内容导出到竖线分隔文件。该行在具有不同输出文件名的脚本中多次使用。 table r 被删除并重新创建多次,每次从不同的 table 中使用不同的内容(不在循环或游标中)。上面的代码块第一次出现错误是运行。
- 这是在 SQL Server 2014,Management Studio 12.0.5000 上。
- 这个脚本运行在存储数据库的卷被挂载时就好了
在另一台机器 运行ning SQL Server 2014 上也是如此。
- 我有运行:
EXEC sp_configure 'show advanced options', 1
EXEC sp_configure 'xp_cmdshell', 1
随着:
RECONFIGURE
- 我是数据库所有者。
- 本地路径 "C:[=47=]\folder\subfolder\" 存在。
我可以成功 select 并使用查询查看 table 内容:
`Select * From [ServerName\Instance].[DB_Name].[dbo].[r]`
在添加代码 [ServerName\Instance]
之前,错误消息表示无法打开连接。
- 当我搜索上面的错误消息时,出现了三个结果,其中 none 个解决了我的问题。
如@James Z 所述,您需要指定 server_name[\instance_name]
。您还需要在 [DB_Name]...
之前删除 [ServerName\Instance].
因此,您的命令应如下所示:
EXEC MASTER..xp_cmdshell 'bcp [DB_Name].[dbo].[r] out
"C:[=10=]\folder\subfolder\filename.csv" -c -t "|" -T -S ServerName\Instance'
当我运行:
EXEC MASTER..xp_cmdshell 'bcp [ServerName\Instance].[DB_Name].[dbo].[r] out
"C:[=12=]\folder\subfolder\filename.csv" -c -t "|" -T'
我收到错误消息:
A valid table name is required for in, out, or format options.
我的目标是简单地将名为 r 的 table 的内容导出到竖线分隔文件。该行在具有不同输出文件名的脚本中多次使用。 table r 被删除并重新创建多次,每次从不同的 table 中使用不同的内容(不在循环或游标中)。上面的代码块第一次出现错误是运行。
- 这是在 SQL Server 2014,Management Studio 12.0.5000 上。
- 这个脚本运行在存储数据库的卷被挂载时就好了 在另一台机器 运行ning SQL Server 2014 上也是如此。
- 我有运行:
EXEC sp_configure 'show advanced options', 1
EXEC sp_configure 'xp_cmdshell', 1
随着:RECONFIGURE
- 我是数据库所有者。
- 本地路径 "C:[=47=]\folder\subfolder\" 存在。
我可以成功 select 并使用查询查看 table 内容:
`Select * From [ServerName\Instance].[DB_Name].[dbo].[r]`
在添加代码
[ServerName\Instance]
之前,错误消息表示无法打开连接。- 当我搜索上面的错误消息时,出现了三个结果,其中 none 个解决了我的问题。
如@James Z 所述,您需要指定 server_name[\instance_name]
。您还需要在 [DB_Name]...
[ServerName\Instance].
因此,您的命令应如下所示:
EXEC MASTER..xp_cmdshell 'bcp [DB_Name].[dbo].[r] out
"C:[=10=]\folder\subfolder\filename.csv" -c -t "|" -T -S ServerName\Instance'