Upgrade to Oracle 12 causes error in Developer

Hi

We upgraded Oracle to 12 yesterday. We are using Servoy 6.1. At first some of the users had connection issues and I started checking my connections in Servoy Developer and Aqua Data Studio. I definitely was getting Oracle errors in both applications (although different in both) and so figured it must have something to do with the JDBC drivers. Had to attend a meeting but in the meantime noticed that I had no problem connecting as a user to our Servoy applications and then found out that my users were also able to connect. So I believe for the users the issue might just have been that they needed to restart their machines as there might have been something stored in their cache that prevented them from logging in.

But the ADS and Servoy connections on my machine were continuing. The error I was getting on Aqua Data Studio was “ORA-28040: No matching authentication protocol”. Eventually I resolved this by updating the JDBC driver. I figured that would do the same for Servoy Developer. There though the error was “ORA-00922: missing or invalid option tips”. Changing the driver didn’t help here. What I did find finally allowed me to make a connection was removing the ‘Schema’ parameter. This is not a real solution of course and Servoy warns that one always should give a schema name. Plus for one of my connections it shows no tables even though the connection is allowed without the schema.

Anyone have any suggestions? Why is it working on the server - even without changing the driver - and yet not on my Servoy Developer connection?

Any help greatly appreciated…

John

All I can say from strange oracle issues in the past, it’s almost always the JDBC driver. You need to have the very exact driver for your DB. With very exact I mean not a driver for 11 for example, but one for 11.1.2.0 or whatever it is.

Hi Patrick

But isn’t it strange that the applications on the server are working fine with what is undoubtedly an ‘older’ JDBC driver but on my machine with the latest driver I am getting this in Servoy Developer?

I’ll keep messing with it. And so strange if I have the schema empty I can connect…

John

When you google for the error you see that it is thrown when you give the wrong parameters to a create table, create or alter user etc. So when exactly are you getting this error? I can’t see why you create or alter users or tables when you simply establish a connection…

After investigation we found that Servoy does not recognize the dialect for oracle 12.
It falls back to a generic dialect that generates a schema-string that does not match oracle’s.

It will be fixed in upconing Servoy releases (see https://support.servoy.com/browse/SVY-8178).

Until then a workaround is to set the dialect for your server in the servoy.properties file:

server.99.dialect=com.servoy.j2db.dialect.Oracle10gDialect

Rob

It seems that this issue isn’t fixed yet.
We have a Oracle 12c Release 2 Database and see still those messages in the log:

2017-10-30 12:39:41,606 WARN [main] org.hibernate.dialect.resolver.StandardDialectResolver - unknown Oracle major version [12] [ ]
2017-10-30 12:39:45,594 WARN [pool-1-thread-1] org.hibernate.dialect.resolver.StandardDialectResolver - unknown Oracle major version [12] [ ]
2017-10-30 12:39:45,657 WARN [pool-1-thread-1] org.hibernate.dialect.resolver.StandardDialectResolver - unknown Oracle major version [12] [ ]
2017-10-30 12:39:45,718 WARN [pool-1-thread-1] org.hibernate.dialect.resolver.StandardDialectResolver - unknown Oracle major version [12] [ ]

Now i’ve added your workaround ```
server.99.dialect=com.servoy.j2db.dialect.Oracle10gDialect

Alexander,

The fix is in place (you did not get the sql errors mentioned above).

The error that is logged is coming from a library we use.
Your config change prevents calling this, but in both cases the dialect is now set to the same Oracle10gDialect.

Rob