在SQL中传递变量to.exe

时间:2013-02-04 17:58:49

标签: sql sql-server

声明变量后。如何将其传递给.exe?我的代码不起作用。

DECLARE @ODBCConn varchar(10)
SET @ODBCConn = 'TestDb'

EXECUTE master..xp_cmdshell '"C:\tmt.exe"' + @ODBCConn

2 个答案:

答案 0 :(得分:4)

看起来你只是在exe名称之后缺少一个空格。

EXECUTE master..xp_cmdshell '"C:\tmt.exe "' + @ODBCConn

答案 1 :(得分:2)

将参数传递给存储过程时,无法执行连接;参数必须是,而不是导致值的表达式 ...

而是在调用之前执行连接:

DECLARE @ODBCConn varchar(10)
SET @ODBCConn = 'TestDb'

DECLARE @Cmd varchar(500)
SET @Cmd = '"C:\tmt.exe" ' + @ODBCConn

EXECUTE master..xp_cmdshell @Cmd