Perl連接MySQL/Mssql資料庫Connection寫法
1.Mssql 連線
平台: Windows
連線方式:unixODBC
*在此要注意: 6~10行是指從Linux上去連接Windows的MSSQL的方式,
故還需在Linux主機上設定unixODBC才能讓雙方資料交換!
(請先參考此篇進行設定 http://mark329329.pixnet.net/blog/post/291390490)
2.MYSQL連線
平台: Linux
連線方式: DBI
3.測試程式碼參考
#!/usr/bin/perl -w
#------------------------------
#Date : 2015/06/18
#Programer : Yutsao Cnhang
#Program : test.pl
#Vsrsion : v1.0
#------------------------------
use DBI; #..MYSQL ..DBI PACKAGE
use IO::File;
use warnings;
use strict;
#MsSql connection---------------------------------------------------------
my $mssqlUser='sa';
my $mssqlPswd='Mycon@Demo';
my $mssqlDSN='dbi:ODBC:Mycon'; #cd /usr/local/unixODBC vi etc/odbcinst.ini(.ODBC..SQLServer) vi etc/odbc.ini(..DSN)
my $mssqlDBH=DBI->connect($mssqlDSN,$mssqlUser,$mssqlPswd,{RaiseError => 1, AutoCommit => 1})|| die "Can't connect: $DBI::errstr\n";
#MySql connection---------------------------------------------------------
my $mysqlServer="localhost";
my $mysqlTable="demoTable";
my $mysqlUser="root";
my $mysqlPswd='mysql';
my $mysqlDSN="DBI:mysql:$mysqlTable:$mysqlServer;mysql_socket=/var/lib/mysql/mysql.sock"; #My SQL connection
my $mysqlDBH = DBI->connect($mysqlDSN,$mysqlUser,$mysqlPswd,{RaiseError => 1, AutoCommit => 1}) || die "Can't connect: $DBI::errstr\n";
my $mysqlDbName="MyDB";
#GETSTART_TIME-------------------------------------------------------(START)
my @getStartTimeAry;
my $getStartTime;
my $getStartTimeCmd=$mysqlDBH->prepare(getTimeFunc()) || die "Can't prepare the SQL statement: $DBI::errstr\n";
$getStartTimeCmd->execute()|| die "Can't execute the SQL statement: $DBI::errstr\n";
while (@getStartTimeAry = $getStartTimeCmd->fetchrow_array())
$getStartTime=$getStartTimeAry[0];
}
print "Start Time is ".$getStartTime;
print "\n";
$mysqlDBH->disconnect();
$mssqlDBH->disconnect();
#Select Function------------------------
sub getTimeFunc
{
my $sql_cmd="";
$sql_cmd = $sql_cmd . "SELECT NOW( )";
}