2014-12-08 3 views
1

새 작업, 새 부서 및 모든 작업이/400에서 수행됩니다. RPG IV에 대해 전혀 알지 못하기 때문에 PHP에 대한 지식을 팀에 사용하기를 희망합니다.PHP DB2_Connect 문제 (Windows 7의 AS400)

연결 실패 : 내가 돌아올

<?php 
$database = '*****'; 
$user = '*****'; 
$password = '*****'; 
$hostname = '*****'; 
$port = 446; 

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;HOSTNAME=$hostname;". 
"PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;"; 
$conn = db2_connect($conn_string,'',''); 

if ($conn) { 
echo "Connection succeeded."; 
db2_close($conn); 
} 
else { 
echo "Connection failed.<br />"; 
echo db2_conn_error()."<br />"; 
echo db2_conn_errormsg()."<br />"; 
} 
?> 

가이 오류 메시지는 다음과 같다 : 나는 PHP는 AS/400에 연결을 얻으려고

, 여기 내 코드입니다. [IBM] [CLI 드라이버] SQL8002N 누락 된 DB2 Connect 제품 또는 유효하지 않은 라이센스로 인해 호스트에 연결하려는 시도가 실패했습니다. SQLSTATE = 42968 SQLCODE = -8002

내 랩톱에서 Apache 2.4 서버를 실행 중이며 PHP 5.5와 함께로드 된 IBM_db2 확장명은 1.9.6입니다. 회사 랩톱에는 Windows 용 IBM i Access와 일부 IBM 개발자 소프트웨어 패키지가 설치되어 있습니다. 나는 노트북에서 다른 것을 놓치지 않는다고 생각할 것이다 ... 나는 무엇을 놓치고 있습니까?

+0

내가 잘못 생각할 수도 있지만, PDO로 전환하면 좌절감이 줄어들 것입니다. 또한 코드가 더 다양 해져서 새로운 팀을 제공하려는 가치를 더 많이 얻을 수 있습니다. – Anthony

+1

벅 (Buck)의 대답은 일을 시작하기 위해 필요한 모든 것일 수 있습니다. 적어도 필요한 첫 번째 단계입니다. 올바른 드라이버를 사용해야하기 때문입니다. 성공적으로 연결할 수 있으면 PHP를 사용하여 매우 짧은 시간 내에 생산적 일 수 있다고 생각합니다. 그러나, 나는 당신이 RPG를 두려워해서는 안된다고 말하고 싶었습니다. 나는 당신이 그것을 합리적으로 빨리 집을 수있을 것이라고 생각합니다. 그것은 특히 당신이하는 모든 일이 데이터베이스에 접근하는 경우 (녹색 스크린 디스플레이를 사용하는 것이 더 까다로울 수 있음) 쉬운 언어입니다. –

+0

@Anthony 필자는 PDO를 조사 중이며 그것이 내가 결국 일할 수있는 방법이라고 생각합니다. –

답변

4

i 용 DB2는 LUW (또는 z/OS) 용 DB2와는 다른 언어입니다. IBM DB2 ODBC 드라이버 대신 클라이언트 액세스 드라이버를 사용해야합니다. DRIVER={iSeries Access ODBC Driver};

+1

고마워, 마침내 iSeries Access ODBC 드라이버를 사용하게되었지만 PHP ODBC_CONNECT 만 사용할 수있었습니다. ODBC를 통해 DB2_CONNECT를 사용하는 것이 더 좋습니다. –