文件系统访问限制

出于安全原因,标准模式下的 Qlik Sense 不支持数据加载脚本中的绝对或相对路径,或者展示文件系统的函数和变量。

但是,由于 QlikView 支持绝对和相对路径,因此可以禁用标准模式,使用旧模式,以便重复使用 QlikView 加载脚本。

警告: 禁用标准模式会展示文件系统,从而带来安全风险。

禁用标准模式

当连接到基于文件的 ODBCOLE DB 数据连接时的安全性

使用基于文件的驱动程序的 ODBCOLE DB 数据连接会在连接字符串中暴露指向已连接数据文件的路径。当在数据选择对话框或某些 SQL 查询中编辑连接时,可能会暴露路径。在标准模式和旧模式中都可能会发生这种情况。

提示: 如果暴露指向数据文件的路径已成为一个问题,则我们建议使用文件夹数据连接来连接到数据文件(如果可能)。

标准模式中的限制

在标准模式下,不能使用几种语句、变量和函数,或者有限制。如果在数据加载脚本中使用不支持的语句,则会在加载脚本运行时产生错误。错误信息可在脚本日志文件中找到。如果使用不支持的变量和函数,不会生成错误信息或日志文件条目。相反,函数会返回 NULL 值。

在编辑数据加载脚本时,没有任何指示表明不支持变量、语句或函数。

系统变量

变量 标准模式 / Qlik Sense Cloud 旧模式 定义
Floppy

不支持

支持 用于返回找到的第一个软盘驱动器的驱动器号,通常是 a:
CD

不支持

支持 用于返回找到的第一个 CD-ROM 驱动器的驱动器号。如果未找到任何 CD-ROM,随后会返回 c:
QvPath

不支持

支持 用于返回浏览字符串到可执行的 Qlik Sense 文件。
QvRoot

不支持

支持 用于返回可执行的 Qlik Sense 的根目录。
QvWorkPath

不支持

支持 用于返回浏览字符串到当前 Qlik Sense 应用程序。
QvWorkRoot

不支持

支持 用于返回当前 Qlik Sense 应用程序的根目录。
WinPath

不支持

支持 用于返回浏览字符串到 Windows
WinRoot

不支持

支持 返回 Windows 的根目录。
$(include=...) Supported input: Library connection Supported input: Library connection or absolute/relative path Include/Must_Include 变量用于指定包含应包括在脚本中并作为脚本代码计算值的文本的文件。您可以将部分脚本代码存储在单独的文本文件中,并可以在多个应用程序中重复使用它。 这是用户定义的变量。

系统变量

常规脚本语句

语句 标准模式 / Qlik Sense Cloud 旧模式 定义
Binary

Binary

Supported input: Library connection Supported input: Library connection or absolute/relative path binary 语句用于加载另一个应用程序中的数据。
Connect

Connect

Supported input: Library connection Supported input: Library connection or absolute/relative path CONNECT 语句用于定义 Qlik Sense 通过 OLE DB/ODBC 接口访问通用数据库。对于 ODBC,首先需要用 ODBC 管理员指定数据源。
Directory

Directory

Supported input: Library connection Supported input: Library connection or absolute/relative path Directory 语句用于定义在后续 LOAD 语句中查找数据文件的目录,直到出现新的 Directory 语句。
Execute

Execute

不支持 Supported input: Library connection or absolute/relative path Execute 语句用于在 Qlik Sense 加载数据的同时运行其他程序。例如,需要执行转换。
LOAD from ...

Load

Supported input: Library connection Supported input: Library connection or absolute/relative path 用于返回浏览字符串到可执行的 Qlik Sense 文件。
Store into ...

Store

Supported input: Library connection Supported input: Library connection or absolute/relative path 用于返回可执行的 Qlik Sense 的根目录。

脚本控制语句

语句 标准模式 / Qlik Sense Cloud 旧模式 定义

For each...

filelist mask/dirlist mask

For each..next

Supported input: Library connection

返回的输出:Library connection

Supported input: Library connection or absolute/relative path

返回的输出:Library connection or absolute path, depending on input

filelist mask 语法会在匹配 filelist mask 的当前目录中生成逗号分隔的全部文件列表。dirlist mask 语法会在匹配目录名称掩码的当前目录中生成逗号分隔的全部目录列表。

文件函数

函数 标准模式 / Qlik Sense Cloud 旧模式 定义
Attribute()

Attribute - 脚本函数

Supported input: Library connection Supported input: Library connection or absolute/relative path 以文本形式返回不同媒体文件的元标签的值。
ConnectString()

ConnectString - 脚本函数

返回的输出:库连接名称 库连接名称或实际连接,具体取决于输入 ODBCOLE DB 连接返回激活连接字符串。
FileDir()

FileDir - 脚本函数

返回的输出:Library connection

返回的输出:Library connection or absolute path, depending on input FileDir 函数用于返回一个包含至当前阅读表格文件目录的路径。
FilePath()

FilePath - 脚本函数

返回的输出:Library connection

返回的输出:Library connection or absolute path, depending on input FilePath 函数用于返回一个包含至当前阅读表格文件的完整路径的字符串。
FileSize()

FileSize - 脚本函数

Supported input: Library connection

Supported input: Library connection or absolute/relative path FileSize 函数用于返回一个包含文件 filename 字节大小的整数,或如果未指定 filename,则返回一个包含当前阅读的表格文件字节大小的整数。
FileTime()

FileTime - 脚本函数

Supported input: Library connection

Supported input: Library connection or absolute/relative path FileTime 函数用于返回文件 filename 的上一次修改日期和时间的时间戳。如果未指定 filename,则此函数将参考当前阅读的表格文件。
GetFolderPath()

GetFolderPath - 脚本函数

不支持

返回的输出:Absolute path

GetFolderPath 函数用于返回 Microsoft Windows SHGetFolderPath 函数的值。此函数用于输入 Microsoft Windows 文件夹的名称,并返回该文件夹的完整路径。
QvdCreateTime()

QvdCreateTime - 脚本函数

Supported input: Library connection Supported input: Library connection or absolute/relative path 此脚本函数用于返回 QVD 文件的 XML-标题时间戳(如果有),否则返回 NULL 值。
QvdFieldName()

QvdFieldName - 脚本函数

Supported input: Library connection Supported input: Library connection or absolute/relative path 此脚本函数用于返回字段编号名 fieldno(如果其存在于 QVD 文件中)(否则,返回 NULL 值)。
QvdNoOfFields()

QvdNoOfFields - 脚本函数

Supported input: Library connection Supported input: Library connection or absolute/relative path 此脚本函数用于返回 QVD 文件中的字段数。
QvdNoOfRecords()

QvdNoOfRecords - 脚本函数

Supported input: Library connection Supported input: Library connection or absolute/relative path 此脚本函数用于返回 QVD 文件中的当前记录数。
QvdTableName()

QvdTableName - 脚本函数

Supported input: Library connection Supported input: Library connection or absolute/relative path 此脚本函数用于返回存储在 QVD 文件中的表格名称。

系统函数

函数 标准模式 / Qlik Sense Cloud 旧模式 定义
DocumentPath()

不支持

返回的输出:Absolute path

此函数用于返回一个包含至当前 Qlik Sense 应用程序完整路径的字符串。
GetRegistryString()

 

不支持

支持 返回一个称为注册关键字的值及一个给定的注册路径。此函数可用于图表及脚本等类似程序中。

系统函数