in reply to Re^5: MSSQL/Perl
in thread Re^4: MSSQL/Perl

below is my code and the error, data retrieval part not included. I am on solaris 10 machine running perl 5.8.0. The default installation does not have DBD::ODBC so I downloaded and installed in my local library. I guess it is some kind of version conflict...pls help
#!/opt/perl/5.8.0/bin/perl use lib "/home/myhome/lib"; use DBI; use DBD::ODBC; @ary = DBI->installed_drivers; print "@ary"; my ($data_source, $database, $userid, $password) = qw( db_1:blah.pp.ns.net;5000 db_1 read readP); my $connect_string = "driver={SQL Server};Server=$data_source;Database +=$database;UID=$userid;PWD=$password"; my $dbh = DBI ->connect ( "$connect_string" ) or die $DBI::errstr; my $sql = "select getdate()"; my $sth = $dbh->prepare ( $sql ); $sth->execute; $dbh->disconnect ();
below is the error I get.
DBI version 1.609 required--this is only version 1.35 at /opt/perl/5.8 +.0/lib/Exporter/Heavy.pm line 221. Compilation failed in require at mssql.pl line 4. BEGIN failed--compilation aborted at mssql.pl line 4.

Replies are listed 'Best First'.
Re^7: MSSQL/Perl
by mje (Curate) on Oct 02, 2013 at 16:02 UTC

    You should read about code tags when submitting a post here. The error "DBI version 1.609 required--this is only version 1.35" seems fairly straight forward to me. You are using a DBD::ODBC version that requires DBI 1.609 and you've only got DBI 1.35. Either upgrade DBI then rebuild DBD::ODBC or downgrade DBD::ODBC (the former is better in my opinion).

      my home library which I am using in the code has the latest DBI and DBD:ODBC. How can I override the old installation of DBI which is getting picked up from the common repository.  use lib "/home/myhome/lib";