• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 624
  • Last Modified:

Install Oracle Perl connector on OSX?

I need to debug some legacy code using perl and the Oracle DBI connector.

I have not been able to successfully install Oracle DBI on OSX.

The connection statement is:
DBI->connect($dsn, $login{name}, $login{pass}

The error is below.

How can I fix this?

test.pl: install_driver(Oracle) failed: Can't locate DBD/Oracle.pm in @INC (@INC contains: /Library/Perl/5.12/darwin-thread-multi-2level /Library/Perl/5.12 /Network/Library/Perl/5.12/darwin-thread-multi-2level /Network/Library/Perl/5.12 /Library/Perl/Updates/5.12.4/darwin-thread-multi-2level /Library/Perl/Updates/5.12.4 /System/Library/Perl/5.12/darwin-thread-multi-2level /System/Library/Perl/5.12 /System/Library/Perl/Extras/5.12/darwin-thread-multi-2level /System/Library/Perl/Extras/5.12 .) at (eval 14) line 3, <IN> line 17.
[Wed Jan 29 15:42:25 2014] test.pl: Perhaps the DBD::Oracle perl module hasn't been fully installed,
[Wed Jan 29 15:42:25 2014] test.pl: or perhaps the capitalisation of 'Oracle' isn't right.
[Wed Jan 29 15:42:25 2014] test.pl: Available drivers: DBM, ExampleP, File, Gofer, Proxy, SQLite, Sponge.
0
code4
Asked:
code4
1 Solution
 
TintinCommented:
From the command line, run:

perl -MCPAN -e 'install DBD::Oracle'
0
 
FishMongerCommented:
It could be done from the command line with shorter syntax.

So, instead of: perl -MCPAN -e 'install DBD::Oracle'

I'd do:
cpan install DBD::Oracle

or even shorter
cpan DBD::Oracle

Both of those work for me on windows and Linux and should also work on a Mac, but I don't have a Mac to test.
0
 
code4Author Commented:
Thanks. CPAN install reports the following errors.
How can I fix this?

Trying to find an ORACLE_HOME
Found /Library/Oracle/instantclient_11_2

WARNING: Setting ORACLE_HOME env var to /Library/Oracle/instantclient_11_2 for you.
WARNING: If these tests fail you may have to set ORACLE_HOME yourself!
Installing on a darwin, Ver#12.0
Using Oracle in /Library/Oracle/instantclient_11_2
Use of uninitialized value $sqlplus_release in pattern match (m//) at Makefile.PL line 1626.
Use of uninitialized value $sqlplus_release in print at Makefile.PL line 1635.
Use of uninitialized value $sqlplus_release in pattern match (m//) at Makefile.PL line 1636.

          If sqlplus failed due to a linker/symbol/relocation/library error or similar problem
          then it's likely that you've not configured your environment correctly.
          Specifically, your DYLD_LIBRARY_PATH environment variable
          set to include the directory containing the Oracle libraries.
          
I'm having trouble finding your Oracle version number... trying harder

WARNING: I could not determine Oracle client version so I'll just
default to version 8.0.0.0. Some features of DBD::Oracle may not work.
Oracle version based logic in Makefile.PL may produce erroneous results.
You can use "perl Makefile.PL -V X.Y.Z" to specify a your client version.

Oracle version 8.0.0.0 (8.0)
DBD::Oracle no longer supports Oracle client versions before 9.2
 Try a version before 1.25 for 9 and 1.18 for 8! at Makefile.PL line 271.
Warning: No success on command[/usr/bin/perl Makefile.PL]
  PYTHIAN/DBD-Oracle-1.68.tar.gz
  /usr/bin/perl Makefile.PL -- NOT OK
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't install
0

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now