So I’m up to my neck doing a remote installation in China right now (seriously), and I want to create an Oracle DB connector. This is a fresh install so the required files aren’t on the target computer. I see the link to Oracle for the JDBC driver files download, and now I am confused.
Does it matter which version I select? ojdbc8.jar or ojdbc11.jar? The only difference seems to be that the “8” version is also certified with JDK8, while both 8 and 11 are also certified with JDK’s 11, 12, 14, 14 and 15.
I also don’t know what the actual Oracle DB I’m meant to connect to is. I just have a computer and DB name to point to. So I don’t know if the DB version matters either.
Really stupid question. When I edit the Oracle Database connector, and supply the jar file, does Ignition move it to some special location? IE I can remove it from the place that I selected the file from?
In testing against the v18.4.0-xe docker image with the ojdbc8.jar I am finding the following connection strings working in Ignition:
jdbc:oracle:thin:@10.0.1.153:1521:XE #Just in case localhost is a special case
jdbc:oracle:thin:@<hostname>:1521:XE #Just to confirm my hostname works with same syntax
#Formatting you recommended
It could be something with the DB version, but 12 is only about 5 years old if I remember correctly and I don’t think the connection strings have changed in that time. Are there any special or non-ASCII characters in either the hostname or the SID?
One thing I did find odd is this syntax faults with a port error despite Oracle claiming it should work:
Looks like for SIDs / and : work. If you are using a service name, then only / will work
As I had no clue about being different types of connections for Oracle, this article looks to explain the differences:
Ahhh ,… that is it … I’m using the service name and not the SID. The service name is what we use in general to connect to our Oracle DBs with all our other (non-Ignition) processes, and in not being an Oracle person I was trying to build the connection string in the same format based on what we are currently using. I saw online how to extract the SID from an Oracle DB, but was joking with a colleague that it looks like I need to know the SID in order to connect to the DB so I can run the query to determine the SID
That makes a lot more sense now. Of course I had to encounter this right in the middle of my deployment! So the Oracle DB connectors page on the GW is correct, it’s just that there is more to the story (and I managed to run into a dark, not so well read corner of it).
Thank you very much for that research. It’s really informative.
OTOH How come the DB Connection page allows me to attempt to create an Oracle DB connector when the DB drivers page knows that there is no Oracle DB driver loaded? Knowing that would have saved me a lot of panic by allowing me to be prepared before hand.