Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-2123

dbz-oracle_connect :getCreateTableEvent(row 211) can't get the data meta by the schema and table name in lower case(default)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • Blocker
    • None
    • None
    • oracle-connector
    • None

    Description

      I use the debezium/example to test oracle cdc by xstream,
      I run the script inventory.sql to create the table customers.
      when I create the connect by register-oracle.json.
      It shows :
      Caused by: java.sql.SQLException: ORA-31603: object \"CUSTOMERS\" of type TABLE not found in schema \"DEBEZIUM\"

      As I can't get source from the repos,I decompiled the jar,
      I located the error to
      ResultSet rs = statement.executeQuery("select dbms_metadata.get_ddl( 'TABLE', '" + table.id().table() + "', '" + table.id().schema() + "' )

      with my exp in dbz-mysql and dbz-postgres
      I think the schema value will be lower case here.

      And I test in the oracle by sqlplus
      1 select dbms_metadata.get_ddl('TABLE','CUSTOMERS','DEBEZIUM') from dual; OK
      2 select dbms_metadata.get_ddl('TABLE','customers','debezium') from dual; will show the same error.

      I also test the param "database.tablename.case.insensitive": true though I didn't see it works in the code . And it didn't work.

      So Is there a way to solve my issues ? Thank you !

      Attachments

        Activity

          People

            ccranfor@redhat.com Chris Cranford
            cyhome110@163.com cui yi (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: