Java连接Oracle11g的时候提示ORA-12505

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java连接Oracle11g的时候提示ORA-12505相关的知识,希望对你有一定的参考价值。

java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

配置文件如下:

# tnsnames.ora Network Configuration File: D:\ProgramFiles\Oracle\Oracle\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORCLWUSHIMING =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orclwushiming)
)
)

(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = D:\ProgramFiles\Oracle\Oracle\product\11.2.0\dbhome_1)
(SID_NAME = orcl)
)

ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)

LISTENER_ORCLWUSHIMIN =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

参考技术A 1.在oracle目录下查找listener.ora文件,修改成如下格式的:
# listener.ora Network Configuration File: D:\oracle10g\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle10g)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = D:\oracle10g)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)

Navicat:连接Oracle时,提示ORA-28547,Cannot load OCI DLL.193,ORA-03135错误

摘要:最开始采用 Navacat 12 连接 Oracle 11g 数据的时候,提示ORA-28547错误。手动下载对应 Oracle 版本 oci 并配置后,提示 Cannot load OCI DLL.193错误。手动下载对应 SQL*Plus并配置后,又重新提示ORA-28547错误。后续重新安装 Navacat 15后,初始连接 Orcale 提示 ORA-03135错误,配置为手动下载的oci,SQL*Plus后成功连接 Orcale 11。

相关文章
Navicat:连接Oracle时,提示ORA-28547,Cannot load OCI DLL.193,ORA-03135错误
Navicat自动备份数据库

一、问题现状

问题分为Navicat 12 和 Navicat 15 两个版本进行记录,

1.1 Navicat 12

在打开Navicat 12版本后,直接连接 Oracle 时,提示此错误 手动下载对应 Oracle 版本 oci文件,并配置Navicat 12后,提示此错误 手动下载对应 SQL*Plus后,同时配置oci,SQL*Plus后,又回到初始状态,提示 ORA-28547错误。

1.2 Navicat 15

在打开Navicat 15版本后,直接连接 Oracle 时,提示此错误 配置为手动下载的oci,SQL*Plus后成功连接 Orcale 11。


二、解决办法

对于连接 Oracle 失败这个问题不好说怎么处理,这个问题在不同环境下,同样的方法有时候能成功,有的时候不能成。本次处理对于 Navacat 12版本就没有成功。

01、查看windows系统版本及位数

方式一:
使用“win+r”快捷键,打开“运行”窗口,输入winver,单击“确定”。

方式二:
使用“win+r”快捷键,打开“运行”窗口,输入“msinfo32.exe”,单击“确定”。 02、PLSQL查看 Oracle 版本

方式一:
打开SQL窗口:菜单栏中 / 文件 / 新建 / SQL窗口 / SQL窗口输入SQL语句或选中待执行SQL语句,点击“运行”或者按快捷键“F8”。 方式二:
pl/sql developer 里查看 Reports / DBA / NLS Database Parameters / NLS_RDMBS_VERSION。

03、根据indwos版本,Oracle版本下载对应oci和 SQL*Plus

下载地址: Oracle对应客户端

根据对应版本选择,比如此处选中windwos 64未 下载对应oci和 SQL*Plus 解压文件,两个压缩包的里面文件名一致,可以将两个文件直接存放在一个文件夹中。
04、配置Navicat

Navicat 12和Navicat 15 配置位置都差不多,这里帖一张 Navicat 15的。
Navicat 12:打开Navicat / 工具 / 选项 / 其他 / OCI
Navicat 15:打开Navicat / 工具 / 选项 / 环境 配置后,重启一下Navicat。
05、成功连接

以上是关于Java连接Oracle11g的时候提示ORA-12505的主要内容,如果未能解决你的问题,请参考以下文章

oracle 11g安装好后,测试提示:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

oracle11g sql dever链接提示ora-12505,sql plus可以正常连接

java要和oracle 11g连接该如何配置oracle

vc 6.0连接oracle11g

ORACLE 11G Windows安装环境,只能在本地使用PLSQL进行连接,非本地用户通过IP/ORCL连接时提示12170

navicat premium怎么连接oracle 11g数据库