Monday 31 July 2017

Cannot determine database driver name for driver type "O"

This is quite a specific post.

I’ve been doing a lot of performance testing lately.  One of the tests that I’ve been using to extract a little more performance out of JDE is to look at oracle database 12c. 

I’ve been testing many permutations and combinations of client and server, but I started to get the error below: (after installing JDE on a new and existing template enterprise server).

7045/-170809600 MAIN_THREAD                             Mon Jul 31 09:13:08.024551      jdb_drvm.c460
         JDB9900436 - Cannot determine database driver name for driver type "O"

7045/-170809600 MAIN_THREAD                             Mon Jul 31 09:13:08.024587      jdb_omp1.c1928
         JDB9900254 - Failed to initialize driver.

7045/-170809600 MAIN_THREAD                             Mon Jul 31 09:13:08.024603      jtp_cm.c209
         JDB9909002 - Could not init connect.

7045/-170809600 MAIN_THREAD                             Mon Jul 31 09:13:08.024617      jtp_tm.c1140
         JDB9909100 - Get connect info failed: Transaction ID =

7045/-170809600 MAIN_THREAD                             Mon Jul 31 09:13:08.024630      jdb_rq1.c2452
         JDB3100013 - Failed to get connectinfo


This is on an older tools release (EnterpriseOne 9.1.3.3) (ptf.txt in $SYSTEM/bin32).

I tried 100 different things involving my environment variables and .profile, .bash_profile.  I messed around with a ton of things, but then thought – wait.  This is a 9.1.3.3 tools and I actually put this down on a existing enterprise server with oracle database 12c client (32 bit).  And, this database did not exist when this tools was released(well it was not supported). 

It turns out that my error above is because JDE wants to load certain dll’s from the oracle client dir, and it cannot do this from a 12c client.

To get around this, I just installed a new copy of the oracle client (11.2.0.4) and hooked this up to JD Edwards.  As soon as I did this, viola! the enterprise server is working perfectly.  Note also that this 11.2.0.4 client is talking to a 12c database, as there is reverse compatibility between client and server.

Another slightly interesting thing here is that all I did was tar up the client dir from another machine and untar it on this one – no installers (because I had no graphical interface for the oracle install and I also could not be bothered fighting the responseFile for the next 3 months).  As soon as I sprayed out the dir on the linux machine, it all just worked!  Just remember that this is a POC machine, so don’t stress, I will not run a production environment like this – it’s just good to know.

At the end of the day, I used a template AWS vm (that was built for another purpose), I unzipped the enterprise server install dir (e900) and oracle client, updated tnsnames.ora and the machine just WORKS. 

Complete enterprise server in less than 2 hours?  Don’t mind if I do!

4 comments:

John B. said...

Greetings Shannon,

I am new to Linux and Oracle used under JDE. I do have several years of CNC, but Wintel/SQL Server primarily.

I am trying to get a 9.2 instance running VM's using OEL7 and 12c with WLS. One of the last remaining snags I'm seeing is this one. I tried to install 11g client on the Enterprise Server using ./RunInstaller, but it hangs on the last steps which say 'Running Root Scripts'.

You spoke of just tar'ing the client dir from another server and un-tar'ing it on the Enterprise Server. Could you provide more details? The ../bin and ../lib files, etc. for 11g client were copied over, but I chose to put them in ../product/11.2.0.1.0/dbhome_1

This was to keep from corrupting my known good Oracle 12c components.

Would it be possible to copy in the 11g components which are missing from 12c client, or use symbolic links to the directories containing 11g files?

Any assistance w/b much appreciated.

Shannon Moir said...

Hey John,

I would "multi home" the box, not mess with combining 12c and 11g with sym links - I reckon that will not end well.

You know that if the "running root scripts" cannot popup a window, it'll just sit there. If you look at the install dir (and also the install logs), you'll see the script that you need to run as root, and you can just do it manually!!!

Shannon

John B. said...

Hey Shannon,

As it turns out, I'm running Tools 9.2.x and it fully supports 12c 32bit Client. I was getting the same errors you described above, but it had to do with missing reference to client in ../SharedScripts/enterpriseone.sh (!). Had run accross a support document which stated the latest 32 bit Ora Client supported by E1 9.2 was 11.2.x, but of course, now I can no longer find that document on their site.

I see huge potential for E1 with OEL7,Oracle DB and WLS, in terms of speed and scalability, but I must admit the level of technical complexity (esp. during installation) is more intense than Windows & SQL Server ever were (at least for me...).

Cheers.

John B. said...

Hi Shannon,

As I've progressed w. 9.2 install, I discovered more than one technical issue that was causing the original error that brought me here: "driver type O" If you don't mind, please delete my prior comments from your blog. I think when you originally started the thread, Oracle 12c Client and latest JDK's were not yet fully supported by JDE 9.2, but they are now. If someone is getting this error today, it is likely due to configuration/installation errors. In my case, SWAP file needed to be increased to match an increase in VM memory allocation. There may be other Oracle-specific causes for this error as well. Cheers.