App Connect

 View Only
  • 1.  CDC Node not capturing all the DB changes

    Posted 12 days ago

    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
    ------------------------------


  • 2.  RE: CDC Node not capturing all the DB changes

    Posted 10 days ago

    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
    ------------------------------



  • 3.  RE: CDC Node not capturing all the DB changes

    Posted 8 days ago

    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
    ------------------------------



  • 4.  RE: CDC Node not capturing all the DB changes

    Posted 8 days ago

    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
    ------------------------------



  • 5.  RE: CDC Node not capturing all the DB changes

    Posted 8 days ago

    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
    ------------------------------



  • 6.  RE: CDC Node not capturing all the DB changes

    Posted 5 days ago
    Edited by JOHNSON PHILIP 5 days ago

    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
    ------------------------------



  • 7.  RE: CDC Node not capturing all the DB changes

    Posted 4 days ago

    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
    ------------------------------



  • 8.  RE: CDC Node not capturing all the DB changes

    Posted 2 days ago

    Hi Daniel,

    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.



    ------------------------------
    JOHNSON PHILIP
    ------------------------------