2010-04-19 2 views
1

IBM DBI 패키지를 다운로드했으며, 문서에 지정된대로 내 프로그램의 모든 패키지를 포함합니다. 나는 DB 카탈로그했고 명령 줄에서 연결할 수 있지만, 내 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

DBI는 간단한 데이터베이스 이름을 확인할 수없는 경우 full connection string 사용을 고려 :

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

을 나는 모든 DB를 목록 화함으로써 그렇게하지 않기를 바랬다. – Buzkie

+2

그런 다음'DBI-> data_sources ('DB2')'를 검사하여 카탈로그 작성이 성공적인지 확인하십시오. 카탈로그 작성을 디버깅하는 것은 DBI 설정을 디버깅하는 것과 매우 다를 수 있습니다. 한 번에 두 문제를 해결하려고하지 마십시오. – mob

관련 문제