I understand that we cannot have all the Debizium parameters to be controlled via CDC. I am only looking for two standard parameters which would be part of the underlying JDBC Connection the Connector will be using. I assume the connection parameters are passed from CDC-> JDBC Driver (used by DBZM Connector). Those are ecrypt=false ,trustServerCertificate=false[ ability to override either of them would have been fine as well] It seems they have currently the default values as ecrypt=true,trustServerCertificate=false. Is there anyway to set encypt=false for the JDBC driver used by DBZM?
AppConnect Enterprise JDBC connection supports those to overrides via connection string , looking for an option for the same for the DBZM JDBC Driver as well.
Original Message:
Sent: Tue May 14, 2024 05:58 AM
From: Daniel Robinson
Subject: CDC Node not capturing all the DB changes
Apologies that I wasn't clearer in my previous post, but the way we have implemented CDC in ACE is not the same as how JDBC works in ACE. We made a decision to only expose a common set of parameters through the CDC Policy, as there are literally hundreds of possible debezium configuration properties and we can't simply expose them all in our policy.
Currently, there is no way to pass extra values through to the connector but if you would like the feature adding then please consider raising an RFE.
------------------------------
Daniel Robinson
Original Message:
Sent: Mon May 13, 2024 11:43 AM
From: JOHNSON PHILIP
Subject: CDC Node not capturing all the DB changes
Thanks Daniel for the suggestion.
From the documentation: [Debezium connector for SQL Server :: Debezium Documentation]
"By default, JDBC connections to Microsoft SQL Server are protected by SSL encryption. If SSL is not enabled for a SQL Server database, or if you want to connect to the database without using SSL, you can disable SSL by setting the value of the database.encrypt
property in connector configuration to false
."
how to set as database.encrypt=false in the connector configuration?
"Typically, you configure the Debezium SQL Server connector in a JSON file by setting the configuration properties that are available for the connector." I see a sample json config file as well provided in the documentation .
Is it for CDC or such configuration only allowed for KAFKA?
------------------------------
JOHNSON PHILIP
Original Message:
Sent: Fri May 10, 2024 10:28 AM
From: Daniel Robinson
Subject: CDC Node not capturing all the DB changes
Unfortunately, the CDC stuff does not work in the same way that the JDBC policy does. You are also correct that the default values of the parameters you mention are set by the debezium sql connector.
------------------------------
Daniel Robinson
Original Message:
Sent: Fri May 10, 2024 08:01 AM
From: JOHNSON PHILIP
Subject: CDC Node not capturing all the DB changes
Thanks Daniel for your response and suggestions, will look into it. I already watched your video on CDC and it was really helpful for me to get it working on my local with Postgres DB.
I am trying to understand the following with respect to the error I am getting ->Error: "encrypt" property is set to "true" and "trustServerCertificate" property is set to "false"
As you know if it were a JDBC policy , we can override those values in the connection string and set to false and then it would work and in the case of CDC policy we don't have such option to override those properties. If we can connect to SQL server port (non-SSL) will it work ? I am wondering why those two parameters have the default values as encrypt=true and trustServerCertificate=false? Are they set by debizium sql server plugin connector ?
------------------------------
JOHNSON PHILIP
Original Message:
Sent: Fri May 10, 2024 06:03 AM
From: Daniel Robinson
Subject: CDC Node not capturing all the DB changes
Hi,
sorry to hear you've been having some trouble with setting up CDC. I know from my own experience that this can be quite tricky!
With regards to the SQLServer error, it usually means that you don't have the server's certificate (or it's CA) in the ACE truststore. The following link to our doc's should help with that : https://www.ibm.com/docs/en/app-connect/12.0?topic=authentication-setting-up-public-key-infrastructure
Also, make sure that you have completed the setup here : https://debezium.io/documentation/reference/2.5/connectors/sqlserver.html#setting-up-sqlserver
Note that the SQL Server cert must be setup with a proper cert, it can not be self-signed.
If you would still like the ability to pass extra parameters to CDC then please consider raising an RFE.
------------------------------
Daniel Robinson
Original Message:
Sent: Wed May 08, 2024 04:34 PM
From: JOHNSON PHILIP
Subject: CDC Node not capturing all the DB changes
Able to get it working with Postgres DB on my local.
However, with SQL Server CDC is not working and failing with following error. How do we pass those parsmeters as part of CDC Policy configuration?
he Debezium engine ended with a failure message ''Connector configuration is not valid. Unable to connect. Check this and other connection properties. Error: "encrypt" property is set to "true" and "trustServerCertificate" property is set to "false" but the driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption: Error: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.
------------------------------
JOHNSON PHILIP
Original Message:
Sent: Mon May 06, 2024 12:59 PM
From: JOHNSON PHILIP
Subject: CDC Node not capturing all the DB changes
Tried out the CDC node to capture the DB changes using the link provided here -> IBM App Connect Enterprise CDC - DZone
It is noticed that all the changes to the DB are not captured but the last one modification. Is there any other config changes required? I used the PosgresDB as provided in the step by step instructions above.
------------------------------
JOHNSON PHILIP
------------------------------