2008-08-03 7 views
30

다음 웹 사이트 (PHP5/Apache 1.3/OpenBSD 4.1)를 OS400 V5R3이 설치된 iSeries에서 실행되는 백엔드 시스템에 연결해야하는 프로젝트가 있습니다. 거기에 저장된 표. 나는 주변을 둘러 보았지만 약간의 장애물이 남아있다.PHP를 IBM i (AS/400)에 연결하십시오.

IBM의 DB2 확장 및 DB2 소프트웨어는 Linux에서만 실행됩니다. 나는 IBM의 모든 소프트웨어로 확장 기능을 컴파일 해보고 심지어 미리 컴파일 된 ibm_db2 확장 기능을 사용해 보았다. IBM은 Linux 만 지원하므로 커널에서 Linux 에뮬레이션을 켜기 만하면 도움이되지 않습니다.

사람이 OpenBSD에서 기본적으로 실행할 수있는 모든 것을 얻는다면 좋겠지 만 CentOS를 실행하는 두 번째 서버는 DB2와 함께 설치된 두 번째 서버를 설치하는 것입니다. 이 모든 것을 나에게 해주는 것처럼 보입니다.) 및 드라이버를 사용하여 게시 할 수있는 작은 트랜잭션 서버를 설정하고 필요한 DB2 데이터의 JSON 표현을 얻을 수 있습니다.

두 번째 옵션이 잔인한 것처럼 보이거나 다른 사람에게 더 좋은 아이디어가 있습니까?

답변

17

unixODBC을 사용하여 서버에 연결 했습니까? 올바르게 기억한다면 IBM DB2를 지원하고 OpenBSD에서 컴파일합니다. PHP 측면에 대한 자세한 내용은 http://www.php.net/odbc을 확인하십시오.

작동하지 않으면 Linux 서버에서 웹 서비스를 설정하는 옵션 만 수행하면됩니다.

2

웹 서비스가 나를위한 해답처럼 보입니다. 프로덕션 박스에서 필자는 PHP 문서에 따라 ODBC 지원을 컴파일해야하기 때문에 필자 만의 PHP 설치를 컴파일하고 유지 관리하지 않아도됩니다.

1

웹 서비스는 거의 확실한 방법입니다. 이미 생각해 봤 겠지만 양측에서 PHP를 사용하고 있기 때문에 serialize()를 사용하여 적절한 XML 문서를 작성하는 대신 응답 데이터를 빌드하여 간단한 작업을 수행 할 수 있습니다. 장기적으로는 유연성이 떨어지지 만, 아마 더 빨리 가동 할 수 있습니다.

2

두 번째 @ 존 다우니에게 unixODBC를 사용하여 AS/400에서 PHP로 작업 할 수있는 연결성을 얻었습니다.

phpinfo()에서 unixODBC를 사용할 수 있는지 확인하십시오. SLES 10에서 컴파일 할 필요가 없었습니다.

1

실제로 웹 서비스는 문제를 해결하는 좋은 방법 인 것 같습니다. Java 용 AS400 도구 (꼭 좋은 점은 btw) 위에 웹 서비스를 Java로 작성하는 것입니다. 적어도 OpenBSD에서 서비스 레이어를 실행할 수 있도록해야합니다.

4

두 번째 상자를 설정하는 대신 iSeries 용 PHP Connector를 살펴 보시지 않습니까? 필자의 메인 프레임 담당자들은 여기에 iSeries를 설치하는 것이 매우 쉽다고 말했습니다.

우리는 DB2 데이터에서 데이터 모델을로드하고이를 직렬화하여 호출자에게 리턴하는 PHP로 간단한 서버를 작성했습니다. 이 접근 방식은 다른 PHP 응용 프로그램 만 서비스를 사용할 수 있지만 객체를 직렬화하여 파이프로 보내려면 양끝이 훨씬 더 빠릅니다. 당신은 직접뿐만 아니라 표준 ODBC 드라이버를 사용하여 연결할 수 http://i-seriesusergroup.org/wp-content/uploads/2006/09/PHP%20for%20i5OS%20NESDND.pdf

1

: 여기

는 주제에 IBM에서 PDF입니다.IBM 버전은 대개 프로그램 등을 호출 할 수있는 기능을 제공합니다. SQL과 저장 프로 시저 만 있으면 ODBC가 작동해야합니다.

1

PHP에서 PDO를 사용하지 않는 이유는 무엇입니까? OpenBSD에서 사용할 수있는 모든 포트의 공개 목록을 찾을 수 없기 때문에 여기서 추측해야합니다. FreeBSD, NetBSD 등을위한 포트가 있기 때문에 운이 좋을 수도 있습니다. 내가 거기에 다음과 같은 링크에 당신이 포트를 사용 희망하고 따라하고 있기 때문에

은 PDO를 사용할 수없는 경우

(I는? FreeBSD의의 포터의 수첩에 오픈 BSD 링크, Freshports이 시스템에 적용 할 수없는 경우에도 추측) 및 PHP5-ODBC를 사용할 수 :

http://www.openbsd.org/pkg-stable40.html

  • 그래서 당신은 포트를 통해 시스템을 관리 가정하면, 당신의 포인터가 있습니다.

    희망 하시겠습니까?