+ -
当前位置:首页 → 问答吧 → 关于存储过程方面的问题....

关于存储过程方面的问题....

时间:2011-12-07

来源:互联网

SQL code

USE [Hitachi]
GO
 
CREATE PROCEDURE [dbo].[ExcelTemp] 
@strCmd nvarchar(200)
AS
  
 
BEGIN
    
EXEC master..xp_cmdshell 
'bcp "@strCmd" queryout D:\Temp1.xls -c -q -S"HMPC07018" -U"sa" -P"123456"'

END
 ----------创建完成

 exec [ExcelTemp] 'select * from Hitachi.dbo.Users'
 --Error = [Microsoft][SQL Native Client][SQL Server]必须声明标量变量 "@strCmd"。



不知道哪里出了问题,请问下各位...


作者: dygaalove   发布时间: 2011-12-07

没人 ...

作者: dygaalove   发布时间: 2011-12-07

SQL code
--试试
exec('exec master..xp_cmdshell ''bcp '+@strCmd+' queryout D:\Temp1.xls -c -q -S HMPC07018 -U sa -P 123456 ')

作者: Beirut   发布时间: 2011-12-07

SQL code
EXEC master..xp_cmdshell 'bcp "'+@strCmd+'" queryout D:\Temp1.xls -c -q -S"HMPC07018" -U"sa" -P"123456"'

--字符串拼接

作者: OrchidCat   发布时间: 2011-12-07

SQL code
exec('exec master..xp_cmdshell ''bcp '+@strCmd+' queryout D:\Temp1.xls -c -q -S HMPC07018 -U sa -P 123456 '' ')

作者: Beirut   发布时间: 2011-12-07

引用 2 楼 beirut 的回复:

SQL code
--试试
exec('exec master..xp_cmdshell ''bcp '+@strCmd+' queryout D:\Temp1.xls -c -q -S HMPC07018 -U sa -P 123456 ')


这样子当然提示未声明了。。



必须声明标量变量 "@strCmd"。

作者: dygaalove   发布时间: 2011-12-07