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

前端之家收集整理的这篇文章主要介绍了sql-server – 在SQLCMD for Linux中使用变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Korn shellLinux机箱(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

猜你在找的MsSQL相关文章