我的oracle数据库服务器的ip地址是10.141.165.*,但是对外映射的ip地址是10.37...,现在我发现局域网内不通过防火墙控制的用户访问10.141.165.*这个ip能连上数据库,但是通过防火墙控制的外面的用户访问10.37...这个ip地址时却提示:Microsoft VBScript 编译器错误 错误 '800a03f6' 缺少 'End' /iisHelp/common/500-100.asp,行242 OraOLEDB 错误 '80004005' ORA-12541: TNS: 没有监听器 /open3000/dljxt.asp,行15我试过把tnsnames.ora和listener.ora里的host=改成localhost或127.0.0.1或者直接写成10.37...这个ip地址,外面的用户还是连接不上,实在搞不懂是什么原因,请高手帮帮忙,好几天了都没解决这个问题
解决方法:
在服务器端的SQLNET.ORA应类似
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
TRACE_LEVEL_CLIENT = 16
注册表的HOME0加[HKEY_LOCAL_MACHINE]
USE_SHARED_SOCKET=TRUE
==============================
那是因为linux会自动解决这个问题(透过防火墙连接数据库)。
没有 没有监听器 ,可能是oracle的lisner没有打开。>lsnrctl<enter>
>start<enter>打开lisner.注册一个本地命名。用net8 manager工具注册,然后Save.