Interprocess communication via named pipes
Two types of named pipes are used for exchanging messages and data between QlikView or Qlik Sense and Connector:
- Command pipe is a named pipe that is used for exchanging XML formatted messages, that is, QlikView and Qlik Sense requests, which describe commands to be performed by the Connector, and the Connector replies, which describe status of the executed commands. In certain cases, replies may include result data.
- Data pipe is a named pipe that is used by the Connector to return QVX formatted data, for example, SQL statement result. For every QVX_EXECUTE command request a new data pipe is created.
Below are example scenarios on how QlikView (and Qlik Sense) and the Connector exchange messages to execute
Connect statement
- QlikView or Qlik Sense sends a connect request (QVX_CONNECT) through the command pipe and waits for the Connector reply.
- The Connector executes the connect command and sends the reply if the connection to the data source was successful or not (QVX_OK or QVX_CONNECT_ERROR).
Select statement
- QlikView or Qlik Sense sends an execute request (QVX_EXECUTE) and waits for the Connector reply. The request includes the SQL statement and the name of a data pipe, by which QVX formatted result should be returned.
- After executing SQL statement, the Connector sends the reply on the execute command execution status, e.g. QVX_OK or QVX_TABLE_NOT_FOUND.
- The Connector starts writing SQL statement result data to the data pipe.
- QlikView and Qlik Sense, after receiving QVX_OK reply to the execute request, start reading data from the data pipe.