2010-04-19 123 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

相關問題