Database replication - Error connecting to Oracle

0
Mendix 4.8.7 | database-replication 3.3 I have a problem connecting to Oracle databases using the database-replication module. For some reason I can't access the DB's with the credentials that work fine when I try them in Oracle SQL Developer. Exception synchronising database: xyz.server.nl - dbname com.mendix.core.CoreException: com.mendix.core.CoreRuntimeException: replication.ReplicationSettings$MendixReplicationException: java.lang.ArrayIndexOutOfBoundsException: -1 at com.mendix.core.Core.execute(SourceFile:232) Caused by: com.mendix.core.CoreRuntimeException: replication.ReplicationSettings$MendixReplicationException: java.lang.ArrayIndexOutOfBoundsException: -1 at hJ.b(SourceFile:216) Caused by: replication.ReplicationSettings$MendixReplicationException: java.lang.ArrayIndexOutOfBoundsException: -1 at databasereplication.implementation.DataManager.startSynchronizing(DataManager.java:235) Caused by: java.lang.ArrayIndexOutOfBoundsException: -1 at oracle.jdbc.driver.T4CTTIoauthenticate.setSessionFields(T4CTTIoauthenticate.java:999) at oracle.jdbc.driver.T4CTTIoauthenticate.<init>(T4CTTIoauthenticate.java:235) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:370) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at databasereplication.implementation.DatabaseConnector.connect(DatabaseConnector.java:60) at databasereplication.implementation.DataManager.startSynchronizing(DataManager.java:105) at databasereplication.implementation.OracleReader.processTables(OracleReader.java:30) at databasereplication.actions.SyncDatabaseInfo.executeAction(SyncDatabaseInfo.java:59) at databasereplication.actions.SyncDatabaseInfo.executeAction(SyncDatabaseInfo.java:28) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:57) at com.mendix.core.actionmanagement.CoreAction.a(SourceFile:478) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:463) at hJ.b(SourceFile:205) at com.mendix.core.Core.execute(SourceFile:226) at lG.a(SourceFile:69) at mQ.a(SourceFile:77) at mP.a(SourceFile:163) at mP.executeAction(SourceFile:100) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:57) at com.mendix.core.actionmanagement.CoreAction.a(SourceFile:478) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:463) at hJ.b(SourceFile:205) at com.mendix.core.Core.execute(SourceFile:226) at gp.execute(SourceFile:186) at jw$b.apply$mcV$sp(SourceFile:364) at jw$b.apply(SourceFile:356) at jw$b.apply(SourceFile:356) at com.mendix.externalinterface.connector.RequestDispatching$Worker$a.a(SourceFile:183) at com.mendix.externalinterface.connector.RequestDispatching$Worker$a.apply(SourceFile:177) at akka.actor.Actor$class.apply(Actor.scala:545) at com.mendix.externalinterface.connector.RequestDispatching$Worker.apply(SourceFile:173) at akka.actor.LocalActorRef.invoke(ActorRef.scala:910) at akka.dispatch.MessageInvocation.invoke(MessageHandling.scala:25) at akka.dispatch.ExecutableMailbox$class.processMailbox(ExecutorBasedEventDrivenDispatcher.scala:223) at akka.dispatch.ExecutorBasedEventDrivenDispatcher$$anon$4.processMailbox(ExecutorBasedEventDrivenDispatcher.scala:123) at akka.dispatch.ExecutableMailbox$class.run(ExecutorBasedEventDrivenDispatcher.scala:195) at akka.dispatch.ExecutorBasedEventDrivenDispatcher$$anon$4.run(ExecutorBasedEventDrivenDispatcher.scala:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662) at akka.dispatch.MonitorableThread.run(ThreadPoolBuilder.scala:192) `
asked
1 answers
2

I just did a quick search on google on your stacktrace. The error is not caused by the Mendix code. The exception is triggered by the library.
By searching on the part of the stacktrace that is oracle specific: oracle.jdbc.driver.T4CTTIoauthenticate.setSessionFields(T4CTTIoauthenticate.java:999) at oracle.jdbc.driver.T4CTTIoauthenticate.<init>(T4CTTIoauthenticate.java:235)

I was able to find a couple of posts on stackoverflow and other java forums that all mentioned either the security policy as the cause or missing libraries.
Can you start by confirming that cloud emulation has been disabled? The database replication module does not work with cloud emulation of Mendix 4. (The settings in the modeler 4.x are outdated).

answered