QvxRequest XML schema
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="QvxCommand">
<xs:restriction base="xs:string">
<xs:enumeration value="QVX_CONNECT"/>
<xs:enumeration value="QVX_EXECUTE"/>
<xs:enumeration value="QVX_EDIT_CONNECT"/>
<xs:enumeration value="QVX_EDIT_SELECT"/>
<xs:enumeration value="QVX_GENERIC_COMMAND"/>
<xs:enumeration value="QVX_DISCONNECT"/>
<xs:enumeration value="QVX_TERMINATE"/>
<xs:enumeration value="QVX_PROGRESS"/>
<xs:enumeration value="QVX_ABORT"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="QvxConnectOptions">
<xs:all>
<xs:element name="Provider" type="xs:string" />
<xs:element name="LoginTimeoutSec" type="xs:integer" />
<xs:element name="ConnectTimeoutSec" type="xs:integer" />
<xs:element name="AutoCommit" type="xs:boolean" />
<xs:element name="ReadOnly" type="xs:boolean" />
<xs:element name="AllowPrompt" type="xs:boolean" />
</xs:all>
</xs:complexType>
<xs:element name="QvxRequest">
<xs:complexType>
<xs:all>
<xs:element name="Command" type="QvxCommand" />
<xs:element name="Parameters">
<xs:complexType>
<xs:sequence>
<xs:element name="String" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Options" type="QvxConnectOptions" minOccurs="0" />
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>
QvxRequest Element
Child element | Description |
---|---|
Command |
Command to be executed by the Connector. |
Parameters |
Array of strings. Holds command specific parameters. |
Options |
Connection options. |
QvxCommand Type
This is a list of the QvxCommand type values available to be used.
QVX_CONNECT
Connect to the data source using the given connect string.
The command is sent during script reload while executing CUSTOM CONNECT statement.
Request parameters
- [0] - a modified connect statement: a) rprovider parameter and value are removed; b) scrambled XUserId and XPassword are substituted with unscrambled UserId and Password parameters.
Request options
- Include connection specific settings.
Reply
- QVX_OK, if connection to the data source is established successfully.
QVX_EXECUTE
Execute the given statement and return the data via data pipe.
The command is sent during script reload and by Select Wizard. SELECT statement is used for fetching actual data from the data source. TABLES, COLUMNS and TYPES (represent SQLTABLES, SQLCOLUMNS and SQLTYPES commands defined in QlikView syntax) are used for fetching the data source metadata.
Request parameters
- [0] - statement to execute:SELECT, TABLES, COLUMNS and TYPES
- [1] - data pipe name.
- [2] - a list of semicolon separated statement specific parameters.
E.g. "TABLE_NAME=XYX" asks to return metadata for XYZ table. If no table name is specified for TABLES and COLUMNS commands, then metadata for all tables should be returned.
E.g."BLOB=2;" specifies that the second field should be retrieved as BLOB (SELECT statement).
Reply
- QVX_OK, if the given statement is executed successfully.
Data pipe:
- Qlik Sense and QlikView start reading data pipe only if QVX_OK is received.
- Data is formatted according to QVX file format.
- TABLES result data structure:
- Field [0] - TABLE_NAME.
- Field [1] - TABLE_TYPE. Value: "TABLE".
- Field [2] - CATALOG_NAME (optional).
- Field [3] - SCHEMA_NAME (optional).
- Field [4] - REMARKS (optional).
- COLUMNS result data structure:
- Field [0] - TABLE_NAME.
- Field [1] - COLUMN_NAME.
- Field [2] - DATA_TYPE (optional).
- Field [3] - IS_NULLABLE (optional). Value the way it will be represented to the user.
- Field [4] - REMARKS (optional).
- Field [5] - IS_BLOB (optional). Values"true" or "false" (default)..
- TYPES result data structure is not predefined.
QVX_EDIT_CONNECT
Create a connect statement.In future releases this request may also be used for requesting modification of existing connect statements.
The request is sent on Connect button click. Also it is sent on Select and Custom buttons click, if Qlik Sense or QlikView does not have connect information for the data source.
Request parameters
- [0] - empty parameter for creating a new connect statement and connect statement for editing the existing connect statement.
Request options
- Include connection specific settings.
Reply
- QVX_OK, if the connect statement was created or modified successfully. Connection to the data source does not have to be established.
- OutputValues[0] - created or modified connect statement.
QVX_EDIT_SELECT
Create a select statement. In future releases this request may also be used for requesting modification of existing select statements.
The request is sent on Custom button click.
Request parameters
- [0] - empty parameter for creating a new select statement and connect statement for editing the existing select statement.
- [1] - connect statement. Describes the last data source selected by the user for connection.
Reply
- QVX_OK, if the select statement was created or modified successfully.
- OutputValues[0] - created or modified select statement.
QVX_GENERIC_COMMAND
Execute commands specified by the 1st parameter and return the result via command pipe. Parameters are command specific.
The commands are sent on opening Script Editor and on Select button click.
GetCustomCaption
If the Connector supports the custom button, then return the caption for this button.
Request parameters
- [0] - "GetCustomCaption".
Reply
- QVX_OK, if command executed successfully.
- OutputValues[0] - custom button caption.
IsConnected
True, if the Connector is connected to the currently set data source.
Request parameters
- [0] - "IsConnected".
Reply
- QVX_OK, if command executed successfully.
- OutputValues[0] - "true"/"false".
DisableQlikViewSelectButton
True, if Qlik Sense or QlikView Select Wizard, that is, Select button, should be disabled.
Request parameters
- [0] - "DisableQlikViewSelectButton".
Reply
- QVX_OK, if command executed successfully.
- OutputValues[0] - "true"/"false".
HaveStarField
True, if the datasource understands the "*" syntax in select statements, i.e. "SELECT * FROM..." is valid.
Request parameters
- [0] - "HaveStarField".
Reply
- QVX_OK, if command executed successfully.
- OutputValues[0] - "true"/"false".
JsonRequest
Information requested by the command.
Request parameters
- method name; for example, getInfo
Reply
- “QvxReply”: “{\”name\”:\value\}”
QVX_DISCONNECT
Disconnect from the currently connected data source.
Reply
- QVX_OK, if successfully disconnected from the data source.
QVX_TERMINATE
Clean-up as the process will be terminated. If Qlik Sense or QlikView receives a reply, then it closes the command pipe and terminates the Connector process. Otherwise make sure to terminate.
Reply
- QVX_OK, if clean-up is finished and Qlik Sense or QlikView can terminate the Connector process.
QVX_PROGRESS
Currently not used.
Reply
- QVX_UNSUPPORTED_COMMAND, to enable forward compatibility.
QVX_ABORT
Currently not used.
Reply
- QVX_UNSUPPORTED_COMMAND, to enable forward compatibility.
QvxConnectOptions Type
Child elements | Description |
---|---|
Provider |
Connector name that is equivalent to the Connector file name. |
LoginTimeoutSec |
The number of seconds to wait for a login request to complete before returning to the application. |
ConnectTimeoutSec |
The number of seconds to wait for any request on the connection to complete before returning to the application. |
AutoCommit |
If true, automatically commit SQL statement immediately after it is executed. |
ReadOnly |
If true, open data source as read-only. |
AllowPrompt |
If true, then user prompts are allowed. Information noteThis option is always set to false for QlikView.
|