2012-10-27 23 views
1

我們有兩個oracle帳戶log_reader和log_writer。 log_reader具有讀取數據的讀取權限。 log_writer將寫入數據寫入數據庫。 該應用程序從Apache運行並使用Perl和PHP。密碼被硬編碼到php/perl腳本中。最近我們正在嘗試遷移到Oracle Wallet以消除硬編碼密碼。 Oracle錢包已配置並正在運行 - sqlplus和perl同時用於log_reader和log_writer帳戶。 PHP for log_reader帳戶。 php不適用於日誌寫入器帳戶。我們得到以下錯誤 -OCI_connect/OCIPLogon ORA-01031:權限不足

insert err = 1031:ORA-01031: insufficient privileges 

PHP代碼 -

$conn = OCIPLogon("/", "", "SLACDEV", "", OCI_CRED_EXT); 

總之與Oracle錢包沒有了SQLPLUS和Perl沒有問題。 但是對於PHP,當我們嘗試將數據寫入/插入數據庫時​​,我們正面臨着問題。閱讀PHP的工作正常。

我已經試過到目前爲止以下,但沒有運氣 -

$conn = OCIPLogon("/", "", "SLACDEV", "", OCI_CRED_EXT); 
    $conn = OCIPLogon("/", "", "SLACDEV", "", OCI_CRED_EXT+OCI_SYSOPER); 
    $conn = OCIPLogon("/", "", "SLACDEV", "", OCI_CRED_EXT+OCI_SYSDBA); 

PHP不日誌作家賬戶工作。我們得到以下錯誤 -

insert err = 1031:ORA-01031: insufficient privileges 

回答

0

的解決方案是創建兩個錢包條目,tnsnames.ora中設置的兩個連接的名稱,並確保環境變量在啓動web服務器環境的設置。感謝Christopher Jones幫助解決問題。