贴花变量后。如何将其传递给 .exe?我下面的代码不起作用。
DECLARE @ODBCConn varchar(10)
SET @ODBCConn = 'TestDb'
EXECUTE master..xp_cmdshell '"C:\tmt.exe"' + @ODBCConn
贴花变量后。如何将其传递给 .exe?我下面的代码不起作用。
DECLARE @ODBCConn varchar(10)
SET @ODBCConn = 'TestDb'
EXECUTE master..xp_cmdshell '"C:\tmt.exe"' + @ODBCConn
看起来您只是在 exe 名称后缺少一个空格。
EXECUTE master..xp_cmdshell '"C:\tmt.exe "' + @ODBCConn
将参数传递给存储过程时不能执行连接;参数必须是值,而不是会产生值的表达式...
相反,在调用之前执行连接:
DECLARE @ODBCConn varchar(10)
SET @ODBCConn = 'TestDb'
DECLARE @Cmd varchar(500)
SET @Cmd = '"C:\tmt.exe" ' + @ODBCConn
EXECUTE master..xp_cmdshell @Cmd