DBD::Oracle is hard to build from source  . . . just went thru this.
If you don't build from source it may not be compatible with your Oracle shared 
libraries, OS Shared libraries or Oracle Server.
Consider carefully Oracle client and server characterset (and Perl 
characterset, and OS characterset) - two flavors of Oracle "text" objects need 
to be considered - "CHAR" and "WCHAR" - for 8 combinations.
UTF-8 end-to-end would be nice, but your environment may not allow (ours 
didn't).
Read the general and the platform specific Troubleshooting guide here:    
https://metacpan.org/release/DBD-Oracle

If you have to report a bug (or want to see is an error you are getting is a 
known bug) . . .
Bug tracker is here:
https://rt.cpan.org/Public/Dist/Display.html?Name=DBD-Oracle
And here:
https://github.com/pythian/DBD-Oracle/issues

I found this one instructive:

install DBD::Oracle from CPAN - various problems #47    
https://github.com/pythian/DBD-Oracle/issues/47

You will need not only the client installed but the Oracle "demo" DVD-ROM files 
which include the "sample" makefiles (which are required prerequisites for 
building DBD::Oracle - making them more "code" than "sample").
Also there is no maintainer for the DBD::Oracle module - or at least the 
maintainer is not active.  There is a "co-maintainer" but he basically 
maintains a fork in git now, so the official CPAN module is old.  Wasn't able 
to find "build from git" instructions.  I guess it is "git clone 
https://github.com/pythian/DBD-Oracle.git"; followed by "perl Makefile.PL ; make 
; make test ; make install" (the usual incantation from the MakeMaker 
documentation).  If you reach out to him via CPAN he might respond.
I found a bug in the latest version (memory leak exposed when reading a very 
large number of rows, something to do with Unicode/Characterset conversion and 
buffer size), had to downgrade the perl AND the DBD::Oracle to work-around.
Prerequisites are gcc, gnu make, and Oracle Client that matches your database 
(or older client, but not too old).  Look for a ftp CPAN mirror ( 
http://mirrors.cpan.org/ ) if you want to download an older version to work 
around a bug.
If you are not already familiar - read up on 
https://metacpan.org/pod/ExtUtils::MakeMaker especially the section "Default 
Makefile Behaviour" (and other sections) - which is the hidden documentation to 
"how CPAN modules really work".
Seriously consider the DBD::JDBC module with Oracle JDBC driver (you will need 
a java process to act as a proxy).
If you want to build the DBD::Oracle module try to build it on a test box 
similar to your production box and post results here if you run into errors 
(compile errors or runtime errors).
Allocate time in your project for trial and error.  No "point and shoot" 
solution.  OS type and version matters if you are looking for a how-to on the 
internet.  Read all the README and INSTALL files.  Carefully.  Twice.


Reply via email to