声明变量后。如何将其传递给.exe?我的代码不起作用。
DECLARE @ODBCConn varchar(10)
SET @ODBCConn = 'TestDb'
EXECUTE master..xp_cmdshell '"C:\tmt.exe"' + @ODBCConn
答案 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