Perl 数据库连接
Perl database connection
我是 perl 新手,我需要使用 DBI 连接数据库。我的代码如下:
use LWP::Simple;
use XML::Simple qw(:strict);
use Data::Dumper;
use DBI;
use Getopt::Long;
use IO::Uncompress::Gunzip qw(gunzip $GunzipError);
use IO::File;
use warnings;
$dbh = DBI->connect("dbi:);
if (!$dbh) {
&logMsg(0, "$DBI::errstr");
die;
} else {&logMsg(0,"Connection to $dbName DB OK")}
我已经设置了值。有点像连接失败,但我没有收到任何错误。我也检查了日志文件,没有任何显示。我可以做什么来检查错误?感谢您的任何意见和帮助。
我找不到你的代码有什么问题,除非 logMsg
根本不起作用,但使用 DBI 是一种乏味的方式。
与其检查 DBI 是否出了问题,不如将 DBI 设置为抛出错误。你可以用 RaiseError.
来做到这一点
my $dbh = DBI->connect(
"dbi:ODBC:DSN=$dbName;Server=$dbHost",
$dbUser, $dbPassword,
{ RaiseError => 1 }
);
现在如果 DBI 出现故障,包括尝试连接,它会抛出错误并停止程序。这避免了每次使用数据库时都必须检查错误(你会忘记)。
DBI;
$dbh = DBI->connect('Your_Database_Name', 'user_id','Password');
my $sth = $dbh->prepare ("select * from Table_name");
$sth->execute();
my @row_ary = $sth->hetshrow_array;
foreach $item (@row_ary)
{
print "$item\n";
}
我是 perl 新手,我需要使用 DBI 连接数据库。我的代码如下:
use LWP::Simple;
use XML::Simple qw(:strict);
use Data::Dumper;
use DBI;
use Getopt::Long;
use IO::Uncompress::Gunzip qw(gunzip $GunzipError);
use IO::File;
use warnings;
$dbh = DBI->connect("dbi:);
if (!$dbh) {
&logMsg(0, "$DBI::errstr");
die;
} else {&logMsg(0,"Connection to $dbName DB OK")}
我已经设置了值。有点像连接失败,但我没有收到任何错误。我也检查了日志文件,没有任何显示。我可以做什么来检查错误?感谢您的任何意见和帮助。
我找不到你的代码有什么问题,除非 logMsg
根本不起作用,但使用 DBI 是一种乏味的方式。
与其检查 DBI 是否出了问题,不如将 DBI 设置为抛出错误。你可以用 RaiseError.
来做到这一点my $dbh = DBI->connect(
"dbi:ODBC:DSN=$dbName;Server=$dbHost",
$dbUser, $dbPassword,
{ RaiseError => 1 }
);
现在如果 DBI 出现故障,包括尝试连接,它会抛出错误并停止程序。这避免了每次使用数据库时都必须检查错误(你会忘记)。
DBI;
$dbh = DBI->connect('Your_Database_Name', 'user_id','Password');
my $sth = $dbh->prepare ("select * from Table_name");
$sth->execute();
my @row_ary = $sth->hetshrow_array;
foreach $item (@row_ary)
{
print "$item\n";
}