我知道这是一个非常不寻常的设置,但我需要这样做:
我有一个需要连接到Oracle的php应用程序。它通过php odbc库工作正常,但后来我需要更改服务器,所以问题开始..
在SQL Plus应用程序和ODBC管理器工具中,它可以工作,但是我在php上使用oci或odbc连接,返回ora-12154错误。
这是一段代码:
$tnsName = "svr_aplicacao";
try {
if ($bd->link=oci_connect($usrName, $pwd, $tnsName)) {
$err = '';
$bd->result = true;
} else {
$err = oci_error();
$bd->codErro = $err['code'];
$bd->msgErro = $err['message'];
$bd->result = false;
}
}catch (Exception $e){
print_r ($e);
}
以下是tnsnames.ora声明:
svr_aplicacao =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.248)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
我已经尝试设置TNS_ADMIN环境变量,但随后错误更改为“No TNS listener”
是否存在我应该应用于IIS或其他什么的oracle文件/文件夹访问权限?
感谢
答案 0 :(得分:0)
经过一整天的努力解决这个问题,有一个解决方案:
1 - 下载PHP非线程二进制文件并重新安装在C:\ PHP文件夹中。似乎程序文件(x86)文件夹中的parentesis导致了错误。
2 - 在IIS上更改PHP版本
3 - 转到IIS - > PHP管理器 - > PHP设置:
4 - 转到IIS - > PHP管理器 - > PHP扩展 - 重新启用库oci8,oci8_11g,ldap和fileinfo
它对我有用。 希望它可以帮助某人