use strict; use warnings; use DBI; eval { DBI->trace(0); print "Connection 1 - dbi:DriverName:database_name\n"; my $dbHandle = DBI->connect('dbi:ODBC:DEMODATA', '', '', {PrintError=>0,RaiseError=>1,AutoCommit=>0}); print "Disconnecting...\n"; $dbHandle->disconnect(); print "Connection 2 - no string supplied....should use DBI_DSN \n"; $ENV{'DBI_DSN'} = 'dbi:ODBC:DEMODATA'; $dbHandle = DBI->connect('', '', '', {PrintError=>0,RaiseError=>1,AutoCommit=>0}); print "Disconnecting...\n"; $dbHandle->disconnect(); print "Connection 3 - only 'dbi::' supplied....should use DBI_DRIVER \n"; $ENV{'DBI_DRIVER'} = 'ODBC'; $dbHandle = DBI->connect('dbi::DEMODATA', '', '', {PrintError=>0,RaiseError=>1,AutoCommit=>0}); print "Disconnecting...\n"; $dbHandle->disconnect(); #commented out blocks are failing to connect... #print "Connection 4 - dbi:DriverName:database_name\@hostname:port\n"; #$dbHandle = DBI->connect('dbi:ODBC:DEMODATA@127.0.0.1:1583', '', '', {PrintError=>0,RaiseError=>1,AutoCommit=>0}); #print "Disconnecting...\n"; #$dbHandle->disconnect(); print "Connection 5 - dbi:DriverName:DSN=database_name\n"; $dbHandle = DBI->connect('dbi:ODBC:DSN=DEMODATA', '', '', {PrintError=>0,RaiseError=>1,AutoCommit=>0}); print "Disconnecting...\n"; $dbHandle->disconnect(); #print "Connection 6 - dbi:DriverName{Attributes}:database_name\n"; #$dbHandle = DBI->connect('dbi:ODBC{PrintError=>0,RaiseError=>1,AutoCommit=>0}:DEMODATA', '', ''); #print "Disconnecting...\n"; #$dbHandle->disconnect(); 1; } or do { print "Error: $DBI::err - $DBI::errstr\n"; }; print "Finished\n";
|