当前位置: 首页 > 知识库问答 >
问题:

在Win8、Oracle 11g XE上使用ORA-12505时JDBC连接失败

颜安宁
2023-03-14

我有一个错误,超出了我在TNS看到的-12505: TNS:侦听器目前不知道连接描述符中给出的SID

我使用的是Windows 8、Oracle 11.2 XE、java 1.7.15和Eclipse Juno SR2。

我收到的错误是:

JAVAsql。SQLException:Listener拒绝了连接,出现以下错误:ORA-12505,TNS:Listener当前不知道连接描述符中给出的SID

我已经正确注册了司机,我已经编辑了listener.ora,使服务变得清晰,在我看来,这两种方式都是示例性的——在SID_LIST_LISTENER下,我补充道:

(SID_DESC =
   (SID_NAME = XE)
   (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
)

在LISTENER=(我添加的描述列表)下

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

斯奈姆斯。ora的第一个条目包括:

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

调用的源代码是:

Class.forName(JDBC_DRIVER);
String connectionString = "jdbc:oracle:thin:localhost:1521/XE";
myConnection = DriverManager.getConnection(connectionString, "myuser", "myuserpw");

我还在连接字符串上进行了以下排列。结果如下所示:

jdbc:oracle:thin:@localhost:1521:XE // java.sql.SQLException: ORA-01017: invalid username/password; logon denied
jdbc:oracle:thin:localhost:1521:XE  // error ORA 12505
jdbc:oracle:thin:@//localhost:1521:XE // error java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection
jdbc:oracle:thin:@localhost:1521/XE // error ORA-01017
jdbc:oracle:thin:@//localhost:1521/XE // error ORA-01017

有人有想法吗?

共有2个答案

嵇弘新
2023-03-14

打开cmd

执行lsnrctl命令。

LSNRCTL中键入start

葛高澹
2023-03-14

我有答案!(我想,血腥的固执是它自己的回报)我改变了我拨打的连接调用,并重组了连接字符串,如下所示:

String connectionString = "jdbc:oracle:thin:myuser/mypw@localhost:1521:XE"; 
myConnection = DriverManager.getConnection(connectionString); 

真管用!现在下一个人可以用谷歌搜索了。每次我尝试调用时,带有三个参数的调用版本都会崩溃,但在单参数调用中,嵌入用户名/pw的基本字符串是相同的。

我相信这是XE数据库提供的驱动程序中的一个错误——哦,Oracle,你能告诉我们吗?

 类似资料:
  • 我正在尝试使用SQLDeveloper远程连接到Oracle 12c数据库。为了从另一台计算机远程连接,在运行Oracle的计算机上,我在Windows 7防火墙中打开了一个端口。这部分工作了,但由于此错误ORA-12505,监听器现在不让我进入。它说它无法识别我在远程计算机中尝试与SQLDeveloper连接时提供的SID。我甚至尝试将服务名称设置为“编辑器”,但仍然一无所获。 以下是远程计算机

  • 我在我的每台虚拟机上本地安装了Oracle 11g(在Windows 7 64bit下工作)。突然,简单重启后,5台虚拟机之一的数据库不想再连接了。使用SID连接我获得ORA-12505错误,服务名称为:“网络适配器无法建立连接”,在SqlDeveloper中两种情况都有。如果我尝试使用SqlPlus作为sysdba连接,我将获得连接,但使用“连接到空闲实例”。因此,例如,如果我尝试查看工作的会话

  • 问题内容: 我正在尝试当前连接到当前计算机上的数据库。 我不断收到此错误,但我不知道为什么… 在我的服务器中,我使用了命令(以sys登录)SQL>从v $ thread选择实例;(它返回)实例-> xe 我可能做错了什么? 谢谢! PS我也尝试了127.0.0.1而不是localhost 问题答案: 检查目录下的listener.ora文件是否具有以下值:

  • 我们使用spring数据中的Oracle AQ支持在同一数据源上同时使用JMS和JDBC,使用本地事务而不是XA。我们的设置基本上是参考手册中所描述的:在orcl上:aq jms连接工厂:使用本地数据源事务=“true”和本机jdbc提取器=“oracleNativeJdbcExtractor”HibernateTransactionManager(我现在正尝试对aq和Hibernate使用单一数

  • 从早上开始,我无法使用Oracle SQL Developer连接到我的locat DB(Oracle XE 11g)。 我尝试了关机和启动服务。 错误消息 **状态:失败-测试失败:侦听器拒绝连接,出现以下错误:ORA-12505,TNS:侦听器当前不知道连接描述符中给出的SID** 但是我可以作为sysdba连接。 侦听器文件: TNS文件: lsnrctl状态:结果

  • 尝试创建一个简单的Jmeter 5.0测试,以使用JDBC连接配置连接到数据库。它无法连接到我本地的mySql数据库。[jdbc:mysql://localhost:3306]。我可以使用mySql工作台连接到我本地的mySql数据库,所以我知道我可以连接到它。 它似乎在方法上失败。 你有什么想法为什么会发生这种情况吗? 我在apache-jmeter-5.0\bin中尝试了不同的mysql-co