佘小宝的爹 发表于 2016-11-19 09:32:46

[原创] Perl DBI (PostgreSQL) 学习

学习Perl的人可能都会用到DBI。网上的例子的大多是MySQL的,这回给大家发一个PostgreSQL版的。(其实和DB关系不大,只是不同的DB会影响不同的系统内置常量)
    以下是一个连接PostgreSQL的例子,展现了DBI的基本功能。仅供大家参考。

use DBI;
# dbi:DriverName:database=database_name;host=hostname;port=port
$data_source = "dbi:Pg:database=xxx;host=xxx.xxx.xxx.xxx;port=5432";
$username    = "usr";
$password    = "pwd";
$dbh = DBI->connect(
$data_source, $username, $password,
{ RaiseError => 1 }
)
or die;
$sth = $dbh->prepare("select * from mst_user");
$sth->execute();
# The number of columns
$col_num = $sth->{NUM_OF_FIELDS};
# output columns
@cols= @{$sth->{NAME}};
print join("\t",@cols),"\n";
while ( @row_ary = $sth->fetchrow_array ) {
for($i=0; $i<$col_num; $i++){
my $len = length $cols[$i] ;
printf "%-${len}s\t", $row_ary[$i];
}
print "\n";
}
$sth->finish;
$dbh->disconnect();
页: [1]
查看完整版本: [原创] Perl DBI (PostgreSQL) 学习