我们有两个oracle帐户log_reader和log_writer。log_reader具有读取数据的读取访问权限。log_writer具有将数据写入数据库的写访问权限。该应用程序从Apache运行,并使用Perl和PHP。密码被硬编码到php/perl脚本中。最近,我们正在尝试迁移到Oracle Wallet,以消除硬编码密码。为log_reader和log_writer帐户配置了Oracle wallet并遵循了works - sqlplus和perl。log_reader帐户的php。php不适用于日志写入器帐户。我们得到以下错误-
insert err = 1031:ORA-01031: insufficient privilegesPHP代码-
$conn = OCIPLogon("/", "", "SLACDEV", "", OCI_CRED_EXT);简而言之,有了Oracle Wallet,sqlplus和Perl就没有问题了。但是对于PHP,当我们尝试向数据库写入/插入数据时,我们会遇到问题。Read for 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发布于 2012-10-31 07:52:25
解决方案是创建两个wallet条目,在tnsnames.ora中设置两个连接名称,并确保在启动web服务器的环境中设置了环境变量。感谢Christopher Jones帮助我们解决了这个问题。
https://stackoverflow.com/questions/13097237
复制相似问题