将外部参数传递给QV脚本

时间:2015-05-04 17:15:40

标签: qlikview

我是QlikView的新手,并寻找有关如何将外部参数传递给qv脚本即qvw文件的一些指导。

以下是我工作的场景:

我们正在创建一个源为数据库的报告,我们将使用自动化工具从Linux服务器触发脚本。在做了一些研究后,我发现了两种从QV脚本连接到数据库的方法。

1)使用脚本中的连接字符串连接数据库,但在我们的情况下,密码会在每3个月后更改一次。所以它取消了这个选项。

2)其他选项是在linux作业的qv服务器上创建一个文本文件,它将保存连接字符串并将该文本文件包含在脚本中。我的情况排除了这个选项,因为我们的qv服务器由其他团队共享,并且在公共服务器上的文件中硬编码密码是不安全的。

现在我想将连接字符串或用户名和密码作为参数从自动化工具传递给脚本。

是否可以将外部参数从linux服务器传递给qv脚本?如果是,那怎么办?

如下所示:

ODBC CONNECT TO server (XUserId is $(vuser), XPassword is $(vpwd));
SQL SELECT * FROM db.table;

$(vuser)$(vpwd)是变量。

提前感谢您的时间,如果您需要进一步澄清,请与我们联系。

2 个答案:

答案 0 :(得分:2)

Command Line Syntax第7.1章 Qlikview Reference Manual(我强烈建议大量使用):

  

/体积

     

如果此开关后面紧跟一个变量名和赋值,变量将获得   在脚本执行开始之前分配了值。

什么手册不会告诉您,变量必须存在于脚本中,即您通过设置添加变量 - &gt; 变量概述 Ctrl < / kbd> - Alt - V 然后你可以通过:

传递它
qv /r /vvuser=user1 file.qvw

答案 1 :(得分:0)

我使用不同的解决方案。在每个qlikview文件中,我添加了一行

$(must_include=.\etc\DBConnect.txt);

然后在文本文件DBConnect.txt中定义连接,如下所示:

ODBC CONNECT TO [conn] (XUserId is cRQCaaaaaaaaaaabbbbbbbROaA, XPassword is YaaaaaaBBBBBBBBZ);

这样,公司中的所有用户都可以使用相同的qlikview文件,并使用自己的凭据进行刷新。但是,必须具有与服务器的ODBC连接相同的名称。