问题描述:
现有两台机器一台虚拟机,一台PCServer,都安装了Oracle9i及敝人的Web应用,两台机器都加入了域。现在的问题出现在,虚拟机的Web应用可以访问虚拟机的Oracle及PC上的Oracle,但是PC上的Web应用死活链接不上PC上的Oracle。两台机器的监听器配置如下:
虚拟机:
listener.ora:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.29)(PORT = 1521))
)
)
)SID_LIST_LISTENER=
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = d:\oracle\ora92)
(SID_NAME = dbabc)
)
)
tnsnames.ora:
DBABC.DOMAIN.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.29)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = dbabc)
)
)
sqlnet.ora:
SQLNET.AUTHENTICATION_SERVICES = (NTS)
PCServer:
listener.ora:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.30)(PORT = 1521))
)
)
)SID_LIST_LISTENER=
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = d:\oracle\ora92)
(SID_NAME = dbabc)
)
)
tnsnames.ora:
DBABC.DOMAIN.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.30)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = dbabc)
)
)
sqlnet.ora:
SQLNET.AUTHENTICATION_SERVICES = (NONE)
或者SQLNET.AUTHENTICATION_SERVICES = (NTS)链接数据库的代码为:
虚拟机上以下两句均可:
$conn=OCILogon("username", "password", "192.168.1.29/dbabc");
$conn=OCILogon("username", "password", "192.168.1.30/dbabc");PCServer上以下死活链接不上:
$conn=OCILogon("username", "password", "192.168.1.30/dbabc");
另外尝试了以下链接(不知对错--!):
$conn=OCILogon("username", "password", "DBABC.DOMAIN.COM");
$conn=OCILogon("username", "password", "192.168.1.30/DBABC.DOMAIN.COM");
$conn=OCILogon("username", "password");
$conn=OCILogon("username", "password", "localhost/dbabc");
$conn=OCILogon("username", "password", "127.0.0.1/dbabc");
都链接不上!PS:OCILogon这个函数太恶心了,链接不上也不返回错误信息,只返回False!
请求达人解答,谢谢,权有的一点分送给大家了--!
现有两台机器一台虚拟机,一台PCServer,都安装了Oracle9i及敝人的Web应用,两台机器都加入了域。现在的问题出现在,虚拟机的Web应用可以访问虚拟机的Oracle及PC上的Oracle,但是PC上的Web应用死活链接不上PC上的Oracle。两台机器的监听器配置如下:
虚拟机:
listener.ora:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.29)(PORT = 1521))
)
)
)SID_LIST_LISTENER=
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = d:\oracle\ora92)
(SID_NAME = dbabc)
)
)
tnsnames.ora:
DBABC.DOMAIN.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.29)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = dbabc)
)
)
sqlnet.ora:
SQLNET.AUTHENTICATION_SERVICES = (NTS)
PCServer:
listener.ora:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.30)(PORT = 1521))
)
)
)SID_LIST_LISTENER=
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = d:\oracle\ora92)
(SID_NAME = dbabc)
)
)
tnsnames.ora:
DBABC.DOMAIN.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.30)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = dbabc)
)
)
sqlnet.ora:
SQLNET.AUTHENTICATION_SERVICES = (NONE)
或者SQLNET.AUTHENTICATION_SERVICES = (NTS)链接数据库的代码为:
虚拟机上以下两句均可:
$conn=OCILogon("username", "password", "192.168.1.29/dbabc");
$conn=OCILogon("username", "password", "192.168.1.30/dbabc");PCServer上以下死活链接不上:
$conn=OCILogon("username", "password", "192.168.1.30/dbabc");
另外尝试了以下链接(不知对错--!):
$conn=OCILogon("username", "password", "DBABC.DOMAIN.COM");
$conn=OCILogon("username", "password", "192.168.1.30/DBABC.DOMAIN.COM");
$conn=OCILogon("username", "password");
$conn=OCILogon("username", "password", "localhost/dbabc");
$conn=OCILogon("username", "password", "127.0.0.1/dbabc");
都链接不上!PS:OCILogon这个函数太恶心了,链接不上也不返回错误信息,只返回False!
请求达人解答,谢谢,权有的一点分送给大家了--!
1.安装好9i之后需要在注册表中设置NLS_LANG,并且需要重启机器
2.机器加入域以后需要以域用户登录设置NLS_LANG才有效