【问题标题】:Passing external parameter to QV script将外部参数传递给 QV 脚本
【发布时间】:2015-05-04 17:15:40
【问题描述】:

我是 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) 是变量。

提前感谢您抽出宝贵时间,如果您需要对此进行更多说明,请告诉我。

【问题讨论】:

    标签: qlikview


    【解决方案1】:

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

    /v

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

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

    qv /r /vvuser=user1 file.qvw
    

    【讨论】:

      【解决方案2】:

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

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-09-08
        • 1970-01-01
        • 1970-01-01
        • 2012-03-15
        • 2019-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多