我想将查询结果发送到文件,因此尝试使用bcp命令。但不能传递任何参数。它显示错误。
EXEC xp_cmdshell 'bcp "SELECT * FROM CG.dbo.cdyy where EndTime between DATEADD(s,0,DATEADD(mm, DATEDIFF(m,0,'+@date+'),0)) and DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,1,'+@date+')+1,0)) " queryout "D:\cdr_cg.txt" -T -c -t,'
答案 0 :(得分:4)
在调用master..xp_cmdshell
之前输入参数DECLARE @date varchar(10) = '20130311',
@bcp varchar(8000)
SELECT @bcp = 'bcp "SELECT * FROM CG.dbo.cdyy WHERE EndTime between DATEADD(s,0,DATEADD(mm, DATEDIFF(m,0,''' + @date + '''),0)) AND DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,1,''' + @date + ''')+1,0)) " queryout "D:\cdr_cg.txt" -T -c -t,'
EXEC master..xp_cmdshell @bcp
答案 1 :(得分:0)
我正在使用以下查询,输出如下,并且在所提及的位置找不到文件。
查询: exec xp_cmdshell'bcp“使用Mimsadaptor;通过logdate”queryout“D:\ cdr_cg.txt”-T -c -t,“从日志顺序中选择前10 * OUTPUT: 空值 开始复制...... SQLState = 01000,NativeError = 5701 警告= [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]将数据库上下文更改为“MIMSAdaptor”。 空值 复制了10行。 网络包大小(字节):4096 时钟时间(毫秒):总共16 NULL