2

贴花变量后。如何将其传递给 .exe?我下面的代码不起作用。

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

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

2 回答 2

5

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

EXECUTE master..xp_cmdshell '"C:\tmt.exe "' + @ODBCConn
于 2013-02-04T18:00:38.060 回答
3

将参数传递给存储过程时不能执行连接;参数必须是,而不是会产生值的表达式...

相反,在调用之前执行连接:

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

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

EXECUTE master..xp_cmdshell @Cmd 
于 2013-02-04T19:06:35.260 回答