2012-10-18 3 views
0

가능한 중복 :
Connect from PHP to an Oracle DB using an Oracle WalletPHP를 Oracle Wallet과 함께 사용하는 방법?

우리는 오라클 지갑을 구현할 계획이다. 아래에 표시된 것처럼 sqlplus에서 작동합니다. 지갑 기능이 작동 중임을 나타냅니다.

export ORACLE_HOME=/afs/engg/g/lcls/package/oracle/product/11.1.0.6/client 
    export PATH=$ORACLE_HOME/bin:${PATH} 
    export TNS_ADMIN=/afs/engg/g/lcls/tools/oracle/wallets/engg_reader 


    $ sqlplus /@enggdev 
    SQL> show user 
    USER is "ENGG_READER" 

나는 지금까지 PHP로 작동하지 못했습니다. 우리는 OCI8 확장자로 PHP를 설치했습니다. 특히 oci_connect 명령에 대한 안내를 받으십시오. 구문은 입니다.

이 내 PHP 파일입니다 - 내가 명령을 내가 제대로 ORACLE_HOMELD_LIBRARY_PATH를 설정 $ /mccelog/package/php/php-5.4.7/bin/php connect4.php

Warning: oci_connect(): OCIEnvNlsCreate() failed. There is something wrong 
with your system - please check that ORACLE_HOME and LD_LIBRARY_PATH are set and 
point to the right directories in /afs/engg/u/cd/divekar/technical/connect4.php on 
line 7 

주를 실행하면

<?php 
    // Create connection to Oracle 
    PutEnv("ORACLE_HOME=/afs/engg/g/lcls/package/oracle/product/11.1.0.6/client"); 
    PutEnv("TNS_ADMIN=/afs/engg/g/lcls/tools/oracle/wallets/engg_reader"); 


    $conn = oci_connect("/", "", "$TNS_ADMIN", null, OCI_CRED_EXT); 



    if (!$conn) { 
    $m = oci_error(); 
    echo $m['message'], "\n"; 
    exit; 
    } 
    else { 
    print "Connected to Oracle!\n"; 
    } 
    // Close the Oracle connection 
    oci_close($conn); 
    ?> 

. 줄 7은 해당 오류의 원인이되는 oci_connect 문자열입니다. oci8/oci_connect를 사용하여 Oracle 데이터베이스에 연결하는 방법?

미리 감사드립니다. 감사합니다. -Shashi Divekar

+0

http://stackoverflow.com/questions/7194176/connect-from-php-to-an-oracle-db-using-an-oracle-wallet – riti

답변

0

감사합니다. 당신의 대답은 유용합니다. 나는 포인트를 할당하려고했지만 포인트를 할당 할 수 없습니다. 나는 약간의 실험을했고, 지금 이것은 나를 위해 일한다.

일부 환경 변수를 설정 한 다음 PHP 스크립트를 실행합니다.

수출 ORACLE_HOME =/NFS/LCLS/패키지/오라클/제품/11.1.0.6/클라이언트

수출 TNS_ADMIN =/NFS/LCLS/도구/오라클/지갑/elog_reader

나는 다음 테스트 실행 커맨드 라인에서 PHP 스크립트 및 그것은 지금 일하고있어. 임대시 OCI8과 오라클 지갑이 함께 작동합니다.

당신의 도움을 위해 제공된 아주 좋은 정보를

<?php 
// Create connection to Oracle 

$conn = oci_connect("/", "", "MCCODEV", null, OCI_CRED_EXT); 
if (!$conn) { 
$m = oci_error(); 

echo $m['message'], "\n"; 
exit; 
} 
else { 
    print "Connected to Oracle!\n"; 
     } 
// Close the Oracle connection 
oci_close($conn); 
?> 

다시 한번 감사의 PHP connect.php. 나는 또한 내 stackoverflow.com 게시물을 업데이 트됩니다.

감사합니다. -Shashi Divekar

관련 문제