Additionally (shooting in the dark). With Oracle there are major differences between local and remote databases and the way you connect to them. The most reproducible way of getting a good connection is to use the Oracle Instant Client.
The most recent version of OIC is 19.6. You require OIC-18 or up to connect to Oracle 12.2 or higher, so if your DBD::Oracle is compiled against old client libraries and you connect to Oracle Server 12.2 or higher, you might be able to connect, but the connection (if you connected) might return weird results.
You can check your client and server version most likely in a working Oracle environment by just starting sqlplus.
$ sqlplus scott/tiger
SQL*Plus: Release 19.0.0.0.0 - Production on Sun Mar 29 10:20:11 2020
Version 19.6.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Last Successful login time: Sun Mar 29 2020 10:18:30 +02:00
Connected to:
Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Produc
+tion
This shows a client version 19.6.0.0.0 connected to a server version 12.2.0.1.0
Also note that Oracle shows both 12.1 and 12.2 as 12c, and the two are really different!
So, even with an old(er) perl, check what OIC you are using and if your DBD::Oracle is compiled against that. If you ar not sure, be sure and just recompile from scratch.
$ wget https://cpan.metacpan.org/authors/id/M/MJ/MJEVANS/DBD-Oracle-1.
+80.tar.gz
$ tar xzf DBD-Oracle-1.80.tar.gz
$ cd DBD-Oracle-1.80
$ perl Makefile.PL
$ make
$ make test
$ make install
Why like this and not simply use cpan DBD::Oracle? Well, the described process will show you a lot of feedback and might ask you questions. Doing it interactively makes you (more) aware of the pitfalls.
Enjoy, Have FUN! H.Merijn
|