PLSQL连接Oracle报:ORA-12541 无监听程序
关于这个问题,真是遇到好多次了,从大学第一次学oracle数据库到现在,每次都解决了,但是每次遇到用老办法又不成功,我TM也很无奈,也许这就是传说中的菜到无语吧,这篇博客总结一下,我遇到然后解决的办法。
1.首先,也是大多数人都会自觉去做的,进服务查看是否开启了OracleOraDb11g_home1TNSListener和OracleServiceORCL;
像我这个就是没开启的;
2.查看PLSQL\instantclient_11_2”的两个文件listener.ora、tnsnames.ora是否配置好
# listener.ora Network Configuration File: E:\PLSQL\instantclient_11_2\listener.ora
# Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = CLRExtProc)(ORACLE_HOME = 填Oracle安装地址请参照上图)(PROGRAM = extproc)(ENVS = "EXTPROC_DLLS=ONLY:填Oracle安装地址请参照上图\oracell11.dll"))(SID_DESC =(GLOBAL_DBNAME = 数据库实例请参照上图)(ORACLE_HOME = 填Oracle安装地址请参照上图)(SID_NAME = 数据库实例请参照上图))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 填自己计算机名或者IP)(PORT = 1521))))ADR_BASE_LISTENER = 填Oracle安装地址
3.对监听进行配置
点击下一步,选择重新配置
这里选否
选择重新配置,选择下一步,
填写服务器命“数据库名”下一步
选择TCP,下一步,填写计算机名
测试
4.监听日志listener.log过大
暂停监听服务
然后删除listener.log
5.如果服务中没有OracleOraDb11g_home1TNSListener
进入注册表增加该项
(1)WIN+R 输入regeditj进入注册表
(2)找到HKEY_LOCAL_MACHINE→SYSTEM→CurrentControlSet→Services下新增加一项
借鉴于:
https://blog.csdn.net/tmx012398/article/details/84070531