为什么我的 bcp 查询在 sql 服务器中不起作用?
Why my bcp query out not work in sql server?
我是 sql server
的新手,想将 select 查询保存到 csv 文件中,为此目的使用 bcp query out 编写此查询:
declare @cmd as nchar(50)
SET @cmd = 'bcp select *from [behzad].[dbo].[behzad] queryout "d:\spt_values.dat" -U behbeh -P beh1368421 '
EXEC master..XP_CMDSHELL @cmd
但我得到这个输出:
我该如何解决这个问题?谢谢。
因为您正在使用 queryout
您的来源必须是一个查询。
由于查询有空格,您必须引用它:
此外,您的 @cmd nchar(50)
太短,可能会截断您的命令。
试试这个:
declare @cmd as nchar(500)
SET @cmd = 'bcp "select * from [behzad].[dbo].[behzad]" queryout "d:\spt_values.dat" -U behbeh -P beh1368421 '
EXEC master..XP_CMDSHELL @cmd
使用 SELECT * FROM ...
查询实际上更容易,使用 3 部分限定的 table 名称和 out
而不是 SELECT ...
和 queryout
...
我是 sql server
的新手,想将 select 查询保存到 csv 文件中,为此目的使用 bcp query out 编写此查询:
declare @cmd as nchar(50)
SET @cmd = 'bcp select *from [behzad].[dbo].[behzad] queryout "d:\spt_values.dat" -U behbeh -P beh1368421 '
EXEC master..XP_CMDSHELL @cmd
但我得到这个输出:
我该如何解决这个问题?谢谢。
因为您正在使用 queryout
您的来源必须是一个查询。
由于查询有空格,您必须引用它:
此外,您的 @cmd nchar(50)
太短,可能会截断您的命令。
试试这个:
declare @cmd as nchar(500)
SET @cmd = 'bcp "select * from [behzad].[dbo].[behzad]" queryout "d:\spt_values.dat" -U behbeh -P beh1368421 '
EXEC master..XP_CMDSHELL @cmd
使用 SELECT * FROM ...
查询实际上更容易,使用 3 部分限定的 table 名称和 out
而不是 SELECT ...
和 queryout
...