Skip to Main Content

Java Database Connectivity (JDBC)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Incompatible version of libocijdbc[Jdbc:180000, Jdbc-OCI:189000

user10240923Jun 25 2020 — edited Jun 25 2020

Hello everyone,

after I applied the April 2020 Patch Bundle for the an 18c DB Iget in the following error.

Root cause: java.rmi.ServerError: Error occurred in server thread; nested exception is:

java.lang.Error: Incompatible version of libocijdbc[Jdbc:180000, Jdbc-OCI:189000

I found the information that this points to a mismatch in thin and thick dirver.

Therfore I checked the folder jdbc\lib and there is now an older ojdbc8.jar then before.

How can this happen? And how I get the correct version?

Regards

Sebastian

Comments

John Stegeman

Unique constraints automatically create (or "capture," if one already exists) an index, so just create the constraint - no need for a separate index. The underlying index may be unique or not, depending upon whether the constraint is deferrable. So, you can make the error go away by not creating the index in the first place

Having said that, it looks like you've discovered a situation where Oracle gets confused, and filing an SR with Oracle could either get that issue resolved or explained as to why it's not an issue.

John

Solomon Yakobson
Answer

First of all you have show_orders in index and show_order in constraint. I'll assume it is a typo. Secondly, when you create constraint without specifying reinforcing index Oracle looks for existing index on same set of columns in ASCending order. If such index doesn't exists (and that's your case since one of your index columns is in DESCending order), Oracle tries to create one with same name as the constraint. That's why you get ORA-00955: name is already used by an existing object. In general, you can explicitly specify index name to force Oracle using existing index. But it will not help you. If you issue

alter table orders add constraint orders_year_show_uq unique(year, show_orders) using index orders_year_show_uq;

You'll get ORA-14196: Specified index cannot be used to enforce the constraint.

Anyway, Oracle doesn't support using DESC indexes for PK/UK.

SY.

Marked as Answer by Giovanni_66 · Sep 27 2020
Giovanni_66

Ok, thank you for your answer.

1 - 3

Post Details

Added on Jun 25 2020
0 comments
482 views