加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 在SQLCMD for Linux中使用变量

发布时间:2020-12-12 07:44:40 所属栏目:MsSql教程 来源:网络整理
导读:我正在使用Korn shell在 Linux机箱(Red Hat Enterprise Server 5.3 tikanga)上运行适用于Linux的Microsoft SQLCMD工具(CTP 11.0.1720.0).该工具已正确配置,除了使用脚本变量外,在所有情况下均可使用. 我有一个SQL脚本,看起来像这样. SELECT COLUMN1 FROM TABL
我正在使用Korn shell在 Linux机箱(Red Hat Enterprise Server 5.3 tikanga)上运行适用于Linux的Microsoft SQLCMD工具(CTP 11.0.1720.0).该工具已正确配置,除了使用脚本变量外,在所有情况下均可使用.

我有一个SQL脚本,看起来像这样.

SELECT COLUMN1 FROM TABLE WHERE COLUMN2 = '$(param1)';

我正在运行这样的sqlcmd命令.

sqlcmd -S server -d database -U user -P pass -i input.sql -v param1="DUMMYVALUE"

当我执行上面的命令时,我收到以下错误.

Sqlcmd:’param1 = DUMMYVALUE’:参数无效.输入’ – ?’求助.

帮助列出以下语法.

[-v var =“value”…]

我在这里错过了什么吗?

解决方法

在RTP版本( 11.0.1790.0)中,执行sqlcmd时,-v开关不会出现在参数列表中 – ?.显然,该工具的Linux版本不支持此选项.
据我所知,从环境变量导入参数值也不起作用.

如果需要一种解决方法,一种方法是将一个或多个:setvar语句与包含要运行的命令的文本文件连接到一个新文件,然后执行新文件.根据你的例子:

echo :setvar param1 DUMMYVALUE > param_input.sql
cat input.sql >> param_input.sql
sqlcmd -S server -d database -U user -P pass -i param_input.sql

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读