Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
When running a Qlik Talend Cloud replication task with a SQL Server source, using the Advanced Run Options to start from a timestamp, the task fails with the following error:
SqlStat: 42000 NativeError:9005 [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Invalid parameter passed to OpenRowset(DBLog, ...).
Instead of starting from the timestamp, get the corresponding LSN (Log Sequence Number) from the SQL Server backup history, and start the task from that LSN.
SELECT
[dbo].[attrep_fn_NumericLsnToHexa](bs.first_lsn),
[dbo].[attrep_fn_NumericLsnToHexa](bs.last_lsn),
bmf.*,
bs.*
FROM msdb.dbo.backupmediafamily bmf, msdb.dbo.backupset bs
WHERE bmf.media_set_id = bs.media_set_id
AND bs.database_name = db_name()
AND bs.type = 'L'
AND CAST([dbo].[attrep_fn_NumericLsnToHexa](bs.first_lsn) COLLATE SQL_Latin1_General_CP1_CI_AS AS VARCHAR(24))
<= CAST('00330E09:002FA850:0006' COLLATE SQL_Latin1_General_CP1_CI_AS AS VARCHAR(24))
AND CAST('00330E09:002FA850:0006' COLLATE SQL_Latin1_General_CP1_CI_AS AS VARCHAR(24))
< CAST([dbo].[attrep_fn_NumericLsnToHexa](bs.last_lsn) COLLATE SQL_Latin1_General_CP1_CI_AS AS VARCHAR(24));
When a replication task is started from a timestamp against a SQL Server source, the timestamp value returned by SQL Server is in UTC time, not the local time zone. Using that timestamp directly with the Start from timestamp option is what causes this error.
To point Qlik Replicate at an AG Secondary Replicate instead of the primary, follow these steps;
Limitations include:
The information in this article is provided as-is and to be used at own discretion. Depending on tool(s) used, customization(s), and/or other factors ongoing support on the solution below may not be provided by Qlik Support.
A Talend Data Integration job that retrieves exchange rates from an external government REST API fails at runtime. The failure occurs in the REST call component, and the job doesn't complete. The following exception is logged:
Exception in component tREST_1 (mJob_FT_EXCHANGE_RATE)
com.sun.jersey.api.client.ClientHandlerException:
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
First, we will verify that the correct certificates have been imported, then outline the appropriate solution.
Confirm that every certificate the API server needs is imported into the truststore of the JVM used by Talend. Download every certificate in the chain, saving each one as a separate file:
echo "" | openssl s_client -showcerts -connect <api-hostname>:443 | \
awk '/BEGIN/ { i++; } /BEGIN/, /END/ { print > "a-cert-" i ".crt" }'
Then import each certificate into the truststore. There may be several certificates in the chain. Import all of them:
keytool -import -trustcacerts -alias a-cert-1 -file /tmp/a-cert-1.crt \
-keystore <jvm>/lib/security/cacerts -storepass <truststore-password>
keytool -import -trustcacerts -alias a-cert-2 -file /tmp/a-cert-2.crt \
-keystore <jvm>/lib/security/cacerts -storepass <truststore-password>
If the required certificates are already imported and the error persists, check whether the client and server support a common cipher suite.
Server side: scan the endpoint to see which cipher suites it supports.
sudo dnf install nmap
nmap --script ssl-enum-ciphers -p 443 <api-hostname>
In this case, the scan listed only TLS_RSA_* ciphers.
Client side: check the JDK's java.security file for disabled algorithms.
jdk.tls.disabledAlgorithms=..., TLS_RSA_*, ...
Since the JDK 11 release of January 2026, TLS_RSA_* is disabled by default here, which is why the handshake fails.
Any of the following tools can be used to check which cipher suites a server supports:
nmap (most detailed):
nmap --script ssl-enum-ciphers -p 443 <hostname>
Lists every supported TLS version and cipher suite, with a strength grade (A–F) for each. This is the method used in this case.
testssl.sh (full report, no install needed beyond download):
git clone https://github.com/drwetter/testssl.sh.git
cd testssl.sh
./testssl.sh --cipher-per-proto <hostname>:443
Gives a per-protocol breakdown, and flags weak or deprecated ciphers (no forward secrecy, CBC, and so on).
sslscan:
sudo dnf install sslscan
sslscan <hostname>:443
Quick output showing accepted and rejected ciphers, certificate information, and protocol support.
If the external server can't be upgraded to support newer cipher suites, apply the fix on the JDK 11 client side. To avoid modifying the JDK installation itself, use a separate, customized security file:
-Djava.security.properties=<install_dir>/TalendRemoteEngine/custom.security
Re-enabling TLS_RSA_* weakens transport security, because these cipher suites lack forward secrecy. Scoping the change to this one job's run profile, rather than changing the global JDK settings, limits the exposure. It's also worth asking the API provider whether they plan to support modern cipher suites.
An SSLHandshakeException with a handshake_failure generally has one of two causes: a certificate in the server's chain isn't trusted by the JVM's truststore, or the client and server can't agree on a cipher suite. In this case, investigation confirmed a cipher suite conflict between the client and the API server:
Because the client refuses the only cipher family the server offers, no common cipher suite can be negotiated, which produces the SSLHandshakeException: Received fatal alert: handshake_failure error.
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
When using IBM Db2 iSeries as a source endpoint, a Qlik Replicate task can, in rare cases, trigger a large number of access-attempt messages at the database level. These messages are recorded in the IBM i audit journal, generating several GB of audit data and placing a critical load on the AS/400 system. This results in resource overhead on the database.
The message at the database level may look similar to the following:
Message: The user-defined procedure or function OBJECT_STATISTICS in QSYS2 returned an SQLSTATE warning.
Cause: An SQLSTATE in the 01xxx format was returned by the user-defined procedure or function OBJECT_STATISTICS in QSYS2 (specific name QSQOBSTAT), along with the message text NOT AUTHORIZED TO OBJECT XXX/BBB *FILE.
Contact the database administrator responsible for the IBM Db2 for i (AS/400) system and verify the library settings in DB2 for the current OBJAUD value. If OBJAUD is set to *ALL instead of *NONE, this is likely the cause of the excessive audit journal entries. Have the administrator adjust the value as appropriate for the environment.
This behavior is caused by a specific IBM Db2 for i library parameter: OBJAUD. For background, see Object auditing | IBM Documentation.
The extensive object-access auditing on the database is typically the result of OBJAUD being set to *ALL rather than *NONE on the affected library.
The IBM DB2 for iSeries source endpoint occasionally encounters an error during the CDC stage. This issue appears to be linked to the presence of the IBM i Access ODBC Driver versions 7.1.26 and 7.1.27.
The error message in the task log file:
[SOURCE_CAPTURE ]E: Error parsing [1020109] (db2i_endpoint_capture.c:652)
The issue specifically arises during the CDC stage; however, the Full Load stage operates smoothly without any complications.
Qlik has certified the DB2i ODBC driver version 07.01.029. An update to the official Qlik documentation is currently pending.
Either:
For compatibility reasons, it's advisable to revert to version '07.01.025' if you choose to downgrade, as '07.01.026' exhibits the same issue.
Various factors can contribute to encountering the 'Error parsing' message, including:
• DB2i ODBC Version '07.01.027' (as described in this article)
• In a single task, the total number of captured tables exceeds 300
• The source table is created by DDS
• Garbage data in table
• Special characters in table object identifier (table name, or column name)
If you continue to encounter the error after switching to '07.01.025', please reach out to Qlik Support for further assistance.
The behavior of the IBM DB2i ODBC Versions '07.01.026' & '07.01.027' differ slightly from that of '07.01.025'. In certain scenarios, it may return incorrect column lengths
#00158029, #00160002, QB-26413
Building an OSGI job in Talend Studio (version 2026-07 and 2026-08) fails with the following error:
ERROR] mvn <args> -rf :job_<JOB NAME>
at org.talend.repository.ui.wizards.exportjob.scriptsmanager.BuildJobManager.buildJob(BuildJobManager.java:305)
Caused by defect QAPPINT-3008 (SUPPORT-11651) and resolved in the Talend Studio 2026-09 release. See the release notes for details.
QAPPINT-3008, SUPPORT-11651
Databricks Unity Catalog Volumes do not consistently reflect the current state of a staging path to the very next Qlik Replicate or ODBC operation that depends on it. This occurs for either a new or not yet created path, as well as for newly created files.
Both of these scenarios trigger a FileNotFoundException/PATH_NOT_FOUND error from the Databricks backend, but not from Qlik Replicate itself.
Example:
LIST fails on staging subfolder during pre-load cleanup, even with the service account having all required permissions.
LIST '/Volumes/…/qlik_volume/qlikstage1/<task-id>/1/'; → HiveSQLException: java.io.FileNotFoundException: No such file or directory ..
[TARGET_APPLY ]E: RetCode: SQL_ERROR SqlState: 08S01 NativeError: 115 Message: [Simba][Hardy] (115) Connection failed with error: SSL_read: error code: 0 [1022502] (ar_odbc_stmt.c:4730)
This is caused by the Internal Parameter $info.query_syntax.error_code_connection_failure.
Remove the parameter to resolve the issue.
This article explains how to connect to data from SAP OData services and retrieve data with the Qlik Cloud Analytics ODATA connector.
Public cloud SAP tenant only.
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.
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 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.