On Oct 26, 2020, at 7:31 PM, Garry T. Williams <gtwilli...@gmail.com<mailto:gtwilli...@gmail.com>> wrote:
On Monday, October 26, 2020 11:47:54 AM EDT David Nicol wrote: if the Oracle module is maintained by red hat, yum update should help. If you built it in-house, you may need to yum update the perl development environment and reinstall. This is good advice. The original poster also should make sure the Oracle C-API libraries are still installed properly on the client machine. It's impossible to really tell from what the original poster wrote what the code that is running is doing. (The code he posted is a shell script that executes the actual code, which is unknown to us.) But... It probably is DBD::Oracle running under DBI. That is the preferred, simple, and reliable way to access Oracle databases from Perl. There is no need to complicate things with an intermediate Java program. Just use the direct interface to the Oracle C-API -- DBD::Oracle. (I have used Perl DBD::Oracle for over 20 years on many different operating systems and releases with zero problems.) The error the original poster is getting is probably due to the DBD::Oracle module never being updated to the new RHEL release. Fixing it may require recompiling by hand, using CPAN. (I do not know if RHEL has an already-built DBD::Oracle module available from their repositories. I install from CPAN -- that is compile -- in Fedora.) Or the client isn’t installed or the environment variables are not set properly, or, or... RHEL, Fedora and CentOS do NOT include DBD::Oracle in their pre-built perl modules. Like Gary I’ve always had to build it with CPAN. You need to have an Oracle client setup installed first. By far the simplest method is to install the Oracle Instant Client, (literally download the rpms from Oracle and run yum localinstall rpmfile.rpm ) you need the base IC and the SDK rpms. I usually also install the SQL*Plus package but that is not strictly necessary. It is, however, very useful for troubleshooting connectivity. Then establish the ORACLE_HOME, LD_LIBRARY_PATH and TNS_ADMIN Environment variables and appropriate config file for the latter, then build DBD::Oracle in CPAN. I've never had an issue doing it that way. If you’re using JDBC I think all you need is the base client install. -- Bruce Johnson University of Arizona College of Pharmacy Information Technology Group Institutions do not have opinions, merely customs