0

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.jar mentioned 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-12506 error, 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!

2
  • Not clear what you mean. A wallet (in Oracle) is a file where certificates are stored, whereas the tnsnames.ora file is a file to resolve a TNS alias to the connection string. Commented Nov 22 at 15:13
  • Inside the wallet zip file there's the tnsnames.ora file 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 the tnsnames.ora and give it the path where the wallet was unzipped. I assume that it's to check the credentials of the connection. Commented Nov 22 at 16:20

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.