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";
 }