Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 <;SQL脚本>;无效的列名';XXXXXXXX和x27;_Sql Server 2005_Sql Scripts - Fatal编程技术网

Sql server 2005 <;SQL脚本>;无效的列名';XXXXXXXX和x27;

Sql server 2005 <;SQL脚本>;无效的列名';XXXXXXXX和x27;,sql-server-2005,sql-scripts,Sql Server 2005,Sql Scripts,我有一个sql脚本称为“abc.sql”,我正在使用类似sqlcmd的批处理文件调用它 调用批处理脚本 script.bat arg1 arg2 成批 param1=%1 param2=%2 然后调用SQL脚本,比如 sqlcmd -S server -i abc.sql -v var1=%param1% var2=%param2% 在SQL脚本中 DECLARE @node as sysname; DECLARE @serv as sysname; SET @node = $(va

我有一个sql脚本称为“abc.sql”,我正在使用类似sqlcmd的批处理文件调用它

  • 调用批处理脚本

    script.bat arg1 arg2
    
  • 成批

    param1=%1
    param2=%2
    
  • 然后调用SQL脚本,比如

    sqlcmd -S server -i abc.sql -v var1=%param1% var2=%param2%
    
  • 在SQL脚本中

    DECLARE @node as sysname;
    DECLARE @serv as sysname;
    
    SET @node = $(var1);
    SET @serv = $(var2);
    
  • 但是,当我调用批处理脚本“无效列名'XXXXXXXX'”时,这会导致错误

    其中“XXXXXXX”是var1的值。我做错了什么。任何想法


    同样,即使标量变量@node和@serv被声明和设置。。。我收到一个错误,提示
    必须声明标量变量“@node”

    您需要在脚本中包含引号:

        SET @node = '$(var1)';
        SET @serv = '$(var2)';
    

    伙计们,还有一个问题:我编辑了我的问题。。。请让我知道,如果我必须把它放在另一个postFil,我用另一个问题编辑了我的问题。。。如果你有任何想法,请一定告诉我。@Rahul,我已经在SQLServer2008R2上测试了相同的场景,并且成功了。请检查您是否在abc.sql中包含了整个脚本,可能是您输入了声明或输入了一些错误。如果没有,请用完整的脚本编辑您的问题,以便我可以在我的环境中测试它。