2010-04-19 55 views
1

我已经下载了IBM DBI包,包括文档中指定的程序中的所有包。我已经编目数据库,并可以通过命令行连接到它,但我的DBI连接失败:为什么Perl的DBI无法连接到我编目的DB2数据库?

$dbh = DBI->connect ("dbi:DB2:warehou1", user, pass) or die "Can't connect to sample database: $DBI::errstr"; 

Can't connect to sample database: [IBM][CLI Driver] SQL1031N The database directory cannot be found on the indicated file system. SQLSTATE=58031 

回答

2

考虑使用full connection string时DBI无法解决一个简单的数据库名称:

my $string = "dbi:DB2:DATABASE=$db; HOSTNAME=$hostname; PORT=$port; PROTOCOL=TCPIP; UID=$user; PWD=$pass;"; 
my $dbh = DBI->connect($string, $user, $pass) || die "Connection failed with error: $DBI::errstr"; 
+0

我希望避免通过编目我所有的数据库来做到这一点。 – Buzkie 2010-04-19 17:57:19

+2

然后检查'DBI-> data_sources('DB2')'来查看你的编目是否成功。调试编目可能与调试DBI设置非常不同。不要试图同时解决这两个问题。 – mob 2010-04-19 18:32:17

相关问题