Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
When only a Unique Index Key is defined in the source, the task will by default create a non-clustered key in the target.
This article documents how to create a Primary Key in the target by introducing an Internal Parameter at the SQL Server target.
Source: Oracle
Target: SQL Server
Add the following parameter:
Make sure columns with a unique index defined at the source, as well as columns that are marked as Key Manually in the UI, have the NOT NULL constraint enabled.
QTAC-2537 R2026-08 patch introduced a label sorting issue in the Talend Job Conductor.
Sorting the label on the Execution Plan page in previous patches works as expected. The issue is specific to sorting label names in the Job Conductor, whereas sorting the label name in ascending or descending order fails.
This issue will be fixed in an upcoming Talend Administration Center patch. If a solution is required as soon as possible, another alternative is to revert to a previous patch, as this only impacts version QTAC-2537 (R2026-08).
Review the Talend Release Notes for details.
QTAC-2707
Jobs show significantly degraded performance when running on a Dynamic Engine compared to executing on a Remote Engine.
On a Dynamic Engine, the job runs inside a pod, i.e., a container. This container has its own operating system and libraries, separate from the host node. Because of this, it is sometimes necessary to add Java options at job launch (for example, on a run profile in the Talend Management Console) to allocate more resources to the job inside the container.
There are two main options to add, depending on the root cause of the problem:
Large data volume processing (memory-bound)
This is typically a memory issue. Add the following options:
Kubernetes-specific:
Talend-specific, at the container level (not the job itself):
These set the memory usage for the pod itself.
Complex data processing (CPU-bound)
When the processing logic itself is complex, it is preferable to adjust the CPU allocation instead. By default, a job is limited to 30% of the Kubernetes node's CPU. This limit exists mainly to prevent a single job from completely freezing the node.
This limit can be raised with the following options, which allocate more CPU to the pod:
Examples:
The default CPU usage is 0.3, as defined in the Dynamic Engine's env file. This value is set to prevent any node CPU overhead.
This article explains how to retrieve data using Qlik Sense Analytics (on-premises and Cloud) from SAP OData services, taking into account the 2026 SAP security patches.
An SAP security patch released in June 2026 technically blocks third-party use of the ODP framework over RFC (SAP Note 3255746). This is the interface most dedicated SAP connectors used. Only ODP via RFC is affected, not RFC in general, and SAP names ODP via OData as the compliant fallback for data access outside SAP systems. A time-limited revert option exists but expires in December 2026 (SAP Note 3731818).
Only Qlik's SAP ODP connector (Qlik Cloud) is affected. Depending on the access level you have in your SAP environment, you can also use our SAP connectors to extract data from SAP NetWeaver SAP connectors in Qlik Sense Client Managed, Qlik Cloud and QlikView (these are not affected by SAP restrictions).
But if data extraction only relies on OData services, Qlik's OData connector or REST connector are the only alternative.
What is needed on the SAP side (macro level):
Family A: ODP-based OData services. SAP Gateway can generate an OData service on
top of the ODP framework, and then the answer is essentially yes — anything ODP
supports:
These services are generated in the Gateway Service Builder (SEGW) via the ODP-
extraction wizard. They support full load plus genuine delta — the extractor's delta logic
is preserved and exposed through OData delta tokens.
Family B: regular (non-ODP) OData services. Anything the ABAP stack can model:
These have no delta mechanism by default. Incremental loads are your problem as the
consumer. Typically $filter on a change date or timestamp field, which only works if the
underlying object carries one reliably.
The generic OData connector speaks plain OData, which is fine for Family B and for full loads only from Family A. (delta load can only be managed with a REST connector).
OData is a chatty protocol. While paging, $select to trim width, and gzip help, nobody should plan a nightly full load of BSEG-scale tables over it.
In Qlik Cloud Analytics
In Qlik Sense Enterprise on Windows
This article explains how to connect to data from SAP OData services and retrieve data with the Qlik Sense Enterprise on Windows ODATA connector.
The example in this article is provided as is and only documents a basic option. Further customization can be achieved using a data architecture with QVD layers.
Optional: Instead of manually going through all the steps, it is possible to use an LLM and a skill on SAP and Qlik to generate a first curated version of the full load script by providing the LLM the metadata file of the OData service. It would save some time in the building process.
This article explains how to connect to data from SAP OData services and retrieve data with the Qlik Sense Enterprise on Windows REST connector.
The example in this article is provided as is and only documents a basic option. Further customization can be achieved using a data architecture with QVD layers.
Optional: Instead of manually going through all the steps, it is possible to use an LLM and a skill on SAP and Qlik to generate a first curated version of the full load script by providing the LLM the metadata file of the OData service. It would save some time in the building process.
This article explains how to connect to data from SAP OData services and retrieve data with the Qlik Cloud Analytics REST connector.
The example in this article is provided as is and only documents a basic option. Further customization can be achieved using a data architecture with QVD layers.
Optional: Instead of manually going through all the steps, it is possible to use an LLM and a skill on SAP and Qlik to generate a first curated version of the full load script by providing the LLM the metadata file of the OData service. It would save some time in the building process.
Testing the PostgreSQL Source Endpoint in Qlik Replicate may fail with the following error:
Failed to load Postgres driver. Cannot load libpq.dll
You should have two entries in the system environment variables pointing to the following folders (default locations):
Both folders must include the libpq.dll file.
If the connection test fails even with libpq.dll present in both directories, then:
After upgrading Qlik Compose from 2022.5 to 2023.11 or 2024.12, attempting to generate and run the Data Mart job fails with the following error:
SQL compilation error: invalid identifier "MASTER_CONSIGNMENTLEG_MASTER_CONSIGNMENT_GLOBI_consignment_INVOICE_GLOBI_relations_OID"
To resolve, change the "is_pk" property from false to true for the OID columns in the Aggregate Fact definition.
For new Data Mart jobs, the OID column defaults to true. This issue only affects older Aggregate Facts that include dimensions.
Detailed steps:
The CICD publishing phase may fail with the following error:
org.talend.ci:cloudpublisher-maven-plugin:8.0.13:publish (default) on project <project>: Get the latest published version failed
This article identifies the two most common root causes and their solutions:
Get the latest published version failed: Unauthorized
Caused by: jakarta.ws.rs.NotAuthorizedException: HTTP 401 Unauthorized
Get the latest published version failed: Not Found
Caused by: jakarta.ws.rs.NotFoundException: HTTP 404 Not Found
Identify which root cause applies to you by reviewing the log stack.
This indicates an invalid Talend Management Console (TMC) token and may require a review of what TMC region is currently in use.
Not Found points to an incorrect TMC URL.
00470337, 00470122
While reloading data from a SQL server using ODBC or OLE DB connection, the error below is seen in Hub. Part of this may also be reference in the reload script logs.
The following error occurred:
Connector reply error: ***
The error occurred here:
Data has not been loaded. Please correct the error and try loading again.
The error above may indicate a typo, incorrect syntax, or incorrect table naming in the reload script. It generally does not indicate a connectivity issue or inability to query data in the source SQL database.
Confirm there are no typos, incorrect syntax, or incorrect table naming in the reload script. One way to approach this is by going to the "Select Data" option on the Connection listed in Hub, re-selecting the desired data to be loaded, and "Inserting Script" for comparing if there were any changes in the database since the reload script was first created.
Qlik Replicate task data synchronization failed to replicate data from SQLMI to an AS400 (iSeries/DB2) target via an ODBC endpoint, with new tasks failing during initialization when generating and executing CREATE TABLE statements for internal control tables (such as attrep_apply_exceptions) on the target.
Example error:
Attributes not valid
Detailed log:
Stream component 'st_0_AS400 - PSFWEB - MC - Target' terminated
Stream component failed at subtask 0, component st_0_AS400 - PSFWEB - MC - Target
Error executing command
Cannot create Exception table
Cannot create Special table
execute create table statement failed, statement CREATE TABLE "attrep_apply_exceptions" ( "TASK_NAME" VARCHAR(128) NOT NULL, "TABLE_OWNER" VARCHAR(128) NOT NULL, "TABLE_NAME" VARCHAR(128) NOT NULL, "ERROR_TIME" TIMESTAMP NOT NULL, "STATEMENT" CLOB(0) NOT NULL, "ERROR" CLOB(0) NOT NULL )
RetCode: SQL_ERROR SqlState: 42000 NativeError: -604 Message: [IBM][System i Access ODBC Driver][DB2 for i5/OS]SQL0604 - Attributes not valid.
Failed (retcode -1) to execute statement: CREATE TABLE "attrep_apply_exceptions" ( "TASK_NAME" VARCHAR(128) NOT NULL, "TABLE_OWNER" VARCHAR(128) NOT NULL, "TABLE_NAME" VARCHAR(128) NOT NULL, "ERROR_TIME" TIMESTAMP NOT NULL, "STATEMENT" CLOB(0) NOT NULL, "ERROR" CLOB(0) NOT NULL )
Set Provider Syntax to DB2 in the target endpoint.
Engage Qlik's Professional Services for more direct assistance for custom ODBC endpoint setups due to provider-specific SQL syntax rules.
SQL0604 / NativeError -604 means Db2 for IBM i rejected an invalid data-type attribute, typically a column or expression with an unsupported length, precision, scale, timestamp precision, or ALLOCATE value. This is normally an SQL-definition problem, not a network or ODBC connection problem. (on QR V2023.5.0.322)
The task fails because Qlik Replicate generates this invalid Db2 for i definition:
"STATEMENT" CLOB(0) NOT NULL,
"ERROR" CLOB(0) NOT NULL
On Db2 for IBM i, a CLOB length must be between 1 byte and 2 GB. Therefore, CLOB(0) produces SQL0604 / -604 – Attributes not valid. Other column definitions are valid.
That indicates the target endpoint is missing or uses the wrong configuration for the Endpoint --> Advanced tab --> Provider syntax setting.
Creating a Target Logical System fails while executing the TCODE in SAP QTQVC/EXTREP, citing SAP Extractor Source Error /QTQVC/EXTR060.
See Activate the extractors for Replicate for the documented setup steps.
Two likely root causes:
Loading data from the source (PostgreSQL/Raw) to the Teradata target via JDBC using the tDBOutput component in Talend Studio may lead to the following write error:
[ERROR] tDBOutput - [Teradata Database] [TeraJDBC 20.00.00.58] [Error 6706] [SQLState HY000] The string contains an untranslatable character.
After applying the changes, verify the write operations. Data loading will resume successfully without untranslatable character errors.
The issue was identified as a character-set conversion failure. Analysis of the Teradata table DDL revealed that certain target columns were configured with non-Unicode definitions (e.g., standard VARCHAR without Unicode encoding), preventing Teradata from storing multi-byte character strings passed from Talend during insertion.
The following error may trigger when executing a job in Qlik Talend Studio through a target execution:
Execution failed :org.talend.remote.jobserver.commons.utils.io.JobLimitException: Unzipped file name exceeds the maximum length: '240' (configured in org.talend.remote.jobserver.commons.config.JobServerConfiguration.MAX_UNZIPPED_FILE_NAME_LENGTH) [Unzipped file name exceeds the maximum length: '240' (configured in org.talend.remote.jobserver.commons.config.JobServerConfiguration.MAX_UNZIPPED_FILE_NAME_LENGTH)]
To resolve, set the MAX_UNZIPPED_FILE_NAME_LENGTH=1024 parameter in both the Remote Engine org.talend.remote.jobserver.server.cfg and Talend Studio.ini file:
org.talend.remote.jobserver.commons.config.JobServerConfiguration.MAX_UNZIPPED_FILE_NAME_LENGTH=1024
Dorg.talend.remote.jobserver.commons.config.JobServerConfiguration.MAX_UNZIPPED_FILE_NAME_LENGTH=1024
The Microsoft Fabric Connector is not currently supported as a target system.
A connection using the Azure Storage connector may succeed and pass testing, but reloads will fail with "Operation not supported" on the specific endpoint.
Qlik is actively working on enhancements to provide the functionality in the future:
A specific release date has not yet been determined.
Stay up to date with the Qlik Cloud changelog.
Amazon S3 V2 connections and reloads fail with the following error:
Could not load file or assembly 'System.Text.Json, Version=6.0.0.11, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Affected versions:
This is a known defect (SUPPORT-8609). QvWebStorageProviderConnectorPackage.exe.config is not correctly overwritten during the upgrade process.
Upgrade to the following versions:
Information provided on this defect is given as is at the time of documenting. For up-to-date information, please review the most recent Release Notes or contact support with the ID SUPPORT-8609 for reference.
Product Defect ID: SUPPORT-8609
Configure Kerberos-based Windows Authentication on a Linux machine for the Qlik application user, enabling seamless SQL Server connectivity without manual credential management.
The information in this article is provided as-is and will be used at your discretion. Depending on the tool(s) used, customization(s), and/or other factors, ongoing support on the solution below may not be provided by Qlik Support.
id qlik
sudo su - qlik
whoami
sudo yum install -y krb5-workstation krb5-libs
sudo vi /etc/krb5.conf
includedir /etc/krb5.conf.d/
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = <CUSTOMER_DOMAIN_URL>
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
dns_canonicalize_hostname = fallback
qualify_shortname = ""
default_ccache_name = KEYRING:persistent:%{uid}
[realms]
<CUSTOMER_DOMAIN_URL> = {
kdc = <customer_domain_url>
admin_server = <customer_domain_url>
}
RDLUND.<CUSTOMER_DOMAIN_URL> = {
kdc = RDLund.qliktech.com
admin_server = RDLund.qliktech.com
}
[domain_realm]
.qliktech.com = QLIKTECH.COM
qliktech.com = QLIKTECH.COM
sudo su - qlik
ktutil
addent -password -p <service_account_user>@<email_domain> -k 1 -e aes256-cts-hmac-sha1-96# Enter password when prompted
addent -password -p <service_account_user>@<email_domain>.COM -k 1 -e arcfour-hmac# Enter password again when prompted
wkt /home/qlik/<service_account_user>.keytab
quit
chmod 600 /home/qlik/<service_account_user>.keytab
chown qlik:qlik /home/qlik/<service_account_user>.keytab
klist -kt /home/qlik/<service_account_user>.keytab
kdestroy
kinit -kt /home/qlik/<service_account_user>.keytab <service_account_user>@QLIKTECH.COM
klistExpected output from klist:
isql -k "Driver={ODBC Driver 18 for SQL Server};Server=<SQL_Server_FQDN>;Database=TEST_AD;Trusted_Connection=yes;TrustServerCertificate=yes;Encrypt=no;" -v
vi /home/qlik/renew_krb.shScript content:
#!/bin/bash
LOG=/home/qlik/krb_renew.log
echo "$(date) - Checking Kerberos ticket..." >> $LOG
klist -s
if [ $? -ne 0 ]; then
echo "$(date) - Ticket expired, renewing..." >> $LOG
kinit -kt /home/qlik/<service_account_user>.keytab <service_account_user>@QLIKTECH.COM >> $LOG 2>&1
if [ $? -eq 0 ]; then
echo "$(date) - Ticket renewed successfully" >> $LOG
else
echo "$(date) - ERROR: Renewal failed!" >> $LOG
fi
else
echo "$(date) - Ticket valid, renewing proactively..." >> $LOG
kinit -R >> $LOG 2>&1 || kinit -kt /home/qlik/<service_account_user>.keytab <service_account_user>@QLIKTECH.COM >> $LOG 2>&1
fi
chmod +x /home/qlik/renew_krb.sh
chown qlik:qlik /home/qlik/renew_krb.sh
sudo crontab -u qlik -e
# Renew Kerberos ticket every 8 hours
0 */8 * * * /home/qlik/renew_krb.sh
# Renew on system reboot
@reboot /home/qlik/renew_krb.sh
sudo vi /etc/systemd/system/krb5-qlik.service
[Unit]
Description=Kerberos Ticket Renewal for Qlik User
After=network.target
[Service]
Type=simple
User=qlik
ExecStart=/bin/bash -c 'while true; do kinit -R || kinit -kt /home/qlik/<service_account_user>.keytab <service_account_user>@QLIKTECH.COM; sleep 28800; done'
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable krb5-qlik
sudo systemctl start krb5-qlik
sudo systemctl status krb5-qlik
The service runs an infinite loop that tries to renew the ticket every eight hours (sleep 28800). If renewal fails, it falls back to getting a fresh ticket from the keytab. It auto-starts on every boot.
sudo su - qlik
klist
tail -f /home/qlik/krb_renew.log
sudo systemctl status krb5-qlik
A Qlik Replicate task targeting a file-based endpoint (ADLS, S3, File, or GCS) intermittently:
These symptoms are most likely to appear in tasks where table or schema names contain a forward slash (/) or a backslash (\).
Qlik Replicate provides an internal parameter, enableSlashInTableName, to allow slash characters in table and schema names.
To enable the parameter:
If the parameter is not visible or unavailable in your current Qlik Replicate version, upgrade to v2025.11.0.437 or later.
The data_files folder within the task needs to be empty before resuming. If the folder was not empty, a full reload will be required.
For any new file-based target task (ADLS, S3, File, GCS):
/ or \ into table or schema names.
This is a known limitation.
File-based targets map table and schema names directly into the target's folder and file path structure (such as <target_folder>/<schema>/<table>/<file>.csv). If a table or schema name contains a / or \ character, whether from the source system itself or introduced by a Qlik Replicate transformation rule, Qlik Replicate can misinterpret that character as a path separator rather than as part of the object name.
See Limitations and considerations | Using a file as a target.
A common way this condition is introduced unintentionally is through a Global Transformation Rule that renames tables and adds a / (or \) as a prefix or suffix, for example, a rule such as:
| Rule Type | Description |
|---|---|
| Transformation | Rename table for %.%, add prefix / |
Even though this may be intended to create a logical folder grouping at the target, it produces an effective table name containing a slash, which is not supported by the underlying file-target path handling. When Replicate then needs to locate the staged .tmp file for that table, and most commonly during resume after a task restart or a recoverable target error, the malformed path can prevent it from finding the correct file, resulting in a stalled resume or, in some cases, records that are never applied to the target.
By Giacomo Brioschi, Principal Solution Architect, Qlik | Sathisan Vannadil, Senior Partner Solutions Architect, AWS | Sunil Yerkola, Senior Solutions Architect, ISV, AWS.
This guide walks you through the complete setup to bridge Amazon Quick and the Qlik MCP server, enabling real-time access to trusted Data Products with Qlik Trust Score for governed, AI-ready data, and insights and context from the Qlik Analytics Engine, all from within Amazon Quick.
Content
A Qlik tenant administrator must create (or update) a custom user role that grants the Qlik MCP permission. Without this, users will authenticate successfully but won't be able to execute any MCP tools.
This can also be done from the Permissions tab. Use the Auto assign drop-down to give permission to all users in your tenant.
Space permissions and Section Access rules still apply. The MCP role grants access to the MCP server itself, but what each user can see and do through MCP is governed by their existing Qlik Cloud permissions. See Qlik MCP server access and permissions for details.
The OAuth client authenticates and scopes user access when Quick connects to the Qlik MCP server. A tenant administrator must create an OAuth client for the integration. Once the OAuth client is ready, you can add the Qlik MCP server as a connection in Quick.
Alternatively, you can use OAuth Dynamic Client Registration (DCR), which allows an LLM client to register itself automatically with Qlik Cloud, without the tenant administrator needing to create an OAuth client in advance.
For more information, see how to connect to the Qlik MCP server and how to create OAuth clients for LLM clients in our online help.
Amazon Quick supports two OAuth client types for User authentication: Web (server-side, browser-based redirect flow) and Native (client-side, PKCE-based flow without a backend secret). Choose the one that best fits your security requirements and use case. The following section describes the Web configuration as an example.
Important, tenant admin must connect first: according to Qlik documentation, the tenant administrator has to be the first user to connect and authenticate with any new MCP client. This establishes tenant level trust between Quick and the Qlik OAuth app. Until the admin completes this first connection, other users' connection attempts will fail. Make sure the admin completes the Quick side integration (Step 4) and authenticates before rolling out access to other users.
This step is performed in Amazon Quick, not in Qlik Cloud.
In this final configuration step, you will create an Amazon Quick connection to the Qlik MCP server to access your trusted data foundation. Once this is completed, you will be able to use your Amazon Quick Chat Agents to invoke the available tools to retrieve insights from Qlik. Instructions for adding a remote MCP server connection in Quick will depend on the Quick integration UI.
At a high level:
Data sharing notice: by clicking Approve, you enable the Qlik MCP server to share your Qlik Cloud data with Amazon Quick. Quick is not managed by Qlik, and your data will be stored and processed under AWS's control. Check your organisation's AI data sharing policies before proceeding.
With the connector in place, the tools that the Qlik MCP server provides are now available within Amazon Quick. Chat Agents in Amazon Quick help users explore data, analyse information, and take actions through open-ended natural language conversations, now including Qlik's capabilities. Agents are configured with specific goals, knowledge sources, and connected tools, and can evolve from simple question answering to orchestrating complex workflows. You can use chat agents to:
For more information, see Create, customize, and deploy AI-powered chat agents in Amazon Quick | docs.aws.
Let's explore together how to create an Agent in Amazon Quick that uses the Qlik MCP server connection.
Now you're ready to harness the full power of Qlik's trusted Data Products and Analytics Engine within Amazon Quick workflows through the newly created agent. What once required switching between tools can now happen in a single, unified experience.
Problem: Non-admin users can't connect
Likely root cause: Tenant admin hasn't completed first connection yet (see note in Step 3)
Problem: OAuth callback fails
Likely root cause: Region placeholder in the redirect URL doesn't match your Quick instance's actual region
Problem: User connects but can't access specific apps or data
Likely root cause: Space permissions or Section Access rules are restricting access; this is by design
Problem: The user is not able to use Qlik tools from the Amazon Quick Chat Agent
Likely root cause: Make sure the Qlik MCP server connection is added to the Chat Agent's available actions