First time asking a question here.
I'm making an assignment for my database class where I need to migrate a few tables from an OracleDB relational database to a MongoDB database using the mongodb-relational-migrator. However, I've been having a lot of problems trying to connect the Oracle Database from my Ubuntu 24.04 LTS workstation.
According to the tests my teacher made on Windows, what we needed to do is use the alias in our tnsnames.ora on the JDBC Uri and use the parameter ?tns_admin= and give it the directory where our wallet was unzipped. Ex:
jdbc:oracle:thin:exampledb_high?TNS_ADMIN=/path/to/wallet
The problem? Nothing worked.
My teacher and I tried debugging it for about an hour and a half and absolutely nothing worked. This method specifically gave us the next error:
ORA-17957: Unable to initialize the key store. (CONNECTION_ID=w6SbPC2GTFig5tn8bOtYcw==) https://docs.oracle.com/error-help/db/ora-17957/
That tells me that it did found the directory of the wallet but it couldn't make it work.
We tried looking for the
oraclepki.jarmentioned in the docs but it didn't matter if we put it inside the relational migrator Drivers or the wallet directory, it still gave the same error.We tried connecting by copy pasting the entire connection string into the URI, and it did tried to connect but it gave me the
ORA-12506error, telling us that it was due to ACL filtering...even though we haven't set it up. (Yeah, we also tried to set the ACL so I could enter with my IP, also didn't work)We tried using multiple version of the relational migrator drivers, also didn't work.
We tried changing the permissions and names of all the files, did not work.
We tried creating our own connection string with the driver, also gave us a timeout.
We tried giving more permissions to the Drivers and the wallet files, did not work.
And finally, it reached a point where we pretty much decided to simply let a friend of mine do it, on his Windows machine.
All help to try to make the connection possible would be greatly appreciated!
tnsnames.orafile is a file to resolve a TNS alias to the connection string.tnsnames.orafile with the connection strings and all the Aliases for them. To connect to the relational-migrator we had to use one of the aliases on thetnsnames.oraand give it the path where the wallet was unzipped. I assume that it's to check the credentials of the connection.