#!c:/perl/bin/perl # DBI ODBC Test BEGIN { push @INC, '/gfs/www/cgi-bin/pers/karlk'; } # push @INC, '..'; use Time::localtime; use DBI; use strict; my $db_name; my $db_type = 'MSSQL'; my $db_access_path; my $dbh; my $db_err = ''; my $db_errstr = ''; my @dns; my $d; my %sql_srvr_type = ('mySQL' => 'mysql', 'MSSQL' => 'ODBC:DRIVER={MS SQL 2005}'); # SQL Server my %sql_srvr_name = ('mySQL' => 'localhost', 'MSSQL' =>'localhost'); # \\SQLEXPRESS my %sql_srvr_port = ('mySQL' => '3306', 'MSSQL' => '1433'); my %sql_user = ('mySQL' => 'xxx', 'MSSQL' => 'yyy'); my %sql_pwd = ('mySQL' => 'xxx', 'MSSQL' => 'yyy'); my $db_name = 'online_labs_qa'; # dbi:DriverName:database=database_name;host=hostname;port=port $db_access_path = "DBI:$sql_srvr_type{$db_type};server=$sql_srvr_name{$db_type};database=$db_name;UID=$sql_user{$db_type};PWD=$sql_pwd{$db_type}"; print "DBI Connect: $db_access_path\n"; my @dsns = DBI->data_sources('ODBC'); foreach my $d (@dsns) { print "Driver = $d\n"; } # connect print "Get DBI handle\n"; $dbh = DBI->connect($db_access_path) || die "Could not connect to database: $DBI::errstr"; if (!defined($dbh)) { # connect error $db_err = $dbh->err; $db_errstr = $dbh->errstr; print "Connect Error: $db_err, $db_errstr\n"; } else { print "Handle = $dbh\n"; }