我知道这是一个非常不寻常的集合,但我需要这样做:
我有一个php应用程序谁需要连接到Oracle。它通过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“
是否有任何oracle文件/文件夹访问权限应该应用于IIS或其他什么?
谢谢
发布于 2014-04-15 19:50:00
在尝试解决这个问题一整天之后,有了解决方案:
1-下载PHP非线程二进制文件并在C:\PHP文件夹中重新安装。似乎是程序文件(x86)文件夹中的父母关系导致了这个错误。
2-更改IIS上的PHP版本
3-转到IIS管理器-> ->设置:
4-转到IIS PHP管理器-> PHP扩展-重新启用库oci8、oci8_11g、ldap和fileinfo
这对我很管用。希望它能帮助一些人
https://stackoverflow.com/questions/23068440
复制相似问题