Can't locate DBD/Sybase.pm

Posted by tdadmin on 2017-08-21 12:05
Forums: PPM | OS: Windows 7

Hi does anyone know how to install the pm for Sybase I am trying to access a DB via perl and I keep getting the error below.

Perl version = "This is perl 5, version 24, subversion 1 (v5.24.1) built for MSWin32-x64-multi-thread"

install_driver(Sybase) failed: Can't locate DBD/Sybase.pm in @INC (you may need to install the DBD::Sybase module) (@INC contains: C:\Program Files (x86)\ActiveState Komodo IDE 9\lib\support\dbgp\perllib c:/Perl64/site/lib c:/Perl64/lib .) at (eval 12)[c:/Perl64/lib/DBI.pm:796] line 3.
Perhaps the DBD::Sybase perl module hasn't been fully installed,
or perhaps the capitalisation of 'Sybase' isn't right.
Available drivers: CSV, DBM, ExampleP, File, Gofer, ODBC, Oracle, Pg, Proxy, SQLite, Sponge.

grahams
ActiveState Staff
Wed, 2017-08-23 08:42

The installation instructions for the Sybase driver interface are here:
http://cpansearch.perl.org/src/MEWP/DBD-Sybase-1.15/README
also see
http://search.cpan.org/dist/DBD-Sybase/dbd-sybase.pod

DBD-Sybase hasn't been updated in over four years. That presents some problems:

- The docs say that version .90 "Supported Database Versions and Options" are "Sybase 10.x, 11.x and 12.x, and offers limited support for accessing Microsoft MS-SQL 6.x and 7.x (as SP2) server. Assuming that OpenClient 10.x or 11.x is available DBD::Sybase can be used to connect to Sybase 4.x servers.

In addition DBD::Sybase can be used in combination with the FreeTDS reimplementation of OpenClient to connect to MS-SQL or Sybase servers from platforms where Sybase OpenClient is not available. See http://www.freetds.org for details."

Since version 0.90 there have been quite a few changes:
http://cpansearch.perl.org/src/MEWP/DBD-Sybase-1.15/CHANGES
I see updates for ASE, but I don't see anything that updates the version of MS-SQL expected.

- It's built for the Sybase OpenClient driver that was written to use MS-SQL 7 or MS-SQL 2000. (Which you must have installed before you try to compile DBD-Sybase). A newer version of MS-SQL or the OpenClient driver may not be compatible, especially if you need SSL for connections.

- It expects a version of DBI that was current four to five years ago. It may not compile correctly against the latest versions.

- You'll need a compiler that matches your Perl, which you can probably get from PPM. BUT, the build code for DBD-Sybase may still assume that a Windows Perl will use the old VS 6 compiler toolchain, and that isn't compatible with a current Perl.

- Four years ago, the current version of Perl was 5.18. The last patch was probably written/tested on that version, but the original code was written for Perl 5.6 and there have been additional deprecations, and some removals of deprecated syntax, since 5.18.

- It's seldom ever successfully tested:
http://matrix.cpantesters.org/?dist=DBD-Sybase%201.15;maxver=1

- and it never builds in PPM:
http://code.activestate.com/ppm/DBD-Sybase/