一、问题描述:
安装好ORACLE服务器端后,利用PL/SQL连数据,提示无监听程序。
二、解决步骤:
1.检查防火墙。
将防火墙关闭。
2.查看监听服务。
在管理工具->服务中查看监听服务是否已经启动,如果没有,请启动。
3.查看注册表。
在HKEY_LOCAL_MACHINE->SYSTEM->CurrentControlSet->services中查看监听程序是否注册。
1)如果没有ImagePath字段,就手动添加这个字段,将TNSLSNR.EXE的路径添加进去。
我的是F:\app\Administrator\product\11.2.0\dbhome_1\BIN\TNSLSNR。
2)如果整个监听程序都未注册,那么请重新配置监听服务。步骤如下:
<1>打开网络配置工具(Net Configuration
Assistant)
<2>.选择监听程序配置,点击下一步
<2>.删除原有的监听配置,直接点下一步即可。如果没有删除选项则跳过此步进行第<3>步。
<3>添加监听程序,也是直接点击下一步即可。
<4>.监听服务添加后,在管理工具->服务中查看监听服务,并重启该服务。
4.查看客户端的tnsnames.ora文件。
我的tnsnames文件如下:
-------------------------------------------------------------------
ORCLL =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orclL)
)
)
------------------------------------------------------------------
<1>.检查SERVICE_NAME是否正确。
<2>.查看HOST是否正确,IP发生变化也会导致这个错误。如果是本地服务器,最好设置为localhost。
<3>.最坑爹的,ORCLL一定要顶左边写,不能有空格,否则也会报这个错误。
后记:
装了好多次ORACLE,这个问题也遇到了好多次,千奇百怪的都有。这个解决方案算是比较全的,大部分的错误都包含进来了,通过以上4步,应该就能解决这个问题了。如果还是不能解决,建议重装吧。
转载请注明出处,谢谢!