在PL/SQL中连接ORACLE时,出现:ora-12154:无法解析指定的服务名。怎么解决呢?
郁闷,也查了很多,但最终都不全面。所以,在这里总结一下啦。
1、连接ORACLE时,出现这种错误,要不就是打开目录盘下的E:/oracle10/product/10.1.0/db_1/NETWORK/ADMIN/listener.ora。内容如下:
# listener.ora Network Configuration File:G:/oracle10/product/10.1.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:/oracle10/product/10.1.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = G:/oracle10/product/10.1.0/db_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
)
设置一下服务名。就OK啦。
2、或者启动一下PL/SQL,出现登录窗口时,点击“取消”按钮,直接进入,状态显示是Not Logged on。
然后选择Tools菜单下的Preferences项,在打开的对话框中选择connection项,session mode值设为“multi session”,设置Oracle Home为“OraDb10g_home1”,其他为默认,然后点击“OK”,重新启动登录即可。