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

jdbc连接TNS:侦听器

龚鸿雪
2023-03-14
package com.jay.controller;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Dao {


        public static void main(String[] args) {
            String USER = "SYSTEM";
            String PASS = "admin";
            //jdbc:oracle:<drivertype>:@<database>
            //String dbUrl="jdbc:oracle:thin:@localhost:1521:TEST";
            String dbUrl = "jdbc:oracle:thin:@127.0.0.1:1521:SYSTEM"; //(oracle:  dbc:oracle:thin:@localhost:8081:system)(mysql:   jdbc:mysql://localhost:3306/test)
            String dbClass = "oracle.jdbc.driver.OracleDriver"; // (oracle :oracle.jdbc.driver.OracleDriver)( mysql:com.mysql.jdbc.Driver)
            String query = "Select * FROM transaction_flow";//transaction_flow
            try {
            Class.forName(dbClass);//for (oracle: oracle.jdbc.driver.OracleDriver) (mysql: com.mysql.jdbc.Driver)

            //Connection con = DriverManager.getConnection (dbUrl,USER,PASS);//"jdbc:oracle:thin:@//127.0.0.1:1521/XE","system","sy‌​stem"
            Connection con = DriverManager.getConnection (dbUrl,USER,PASS);
            Statement stmt = con.createStatement();
            for(int i=0;i<1500;i++){
                //stmt.executeUpdate(insertQuery);
              }
            ResultSet rs=stmt.executeQuery(query);
            int count=0;

            /*  
                while (rs.next()) {
            dbtime = rs.getString(1);
            System.out.println(++count+ ": "+" Message_ID:"+rs.getString("Message_ID")+ "HIB_End_Time:"+rs.getString("HIB_End_Time") + "HIB_Start_Time:"+rs.getString("HIB_Start_Time")
                    +"Gateway_End_Time: "+rs.getString("Gateway_End_Time")+ "Gateway_Start_Time"+ rs.getString("Gateway_Start_Time")+"Response_Message_ID :"+rs.getString("Response_Message_ID")
                    +"Service_Name: " +rs.getString("Service_Name")+ "Service_Version"+ rs.getString("Service_Version")+"Response_URL:"+rs.getString("Response_URL")+"SLA: "+rs.getString("SLA")
                    +"TransactionID: "+rs.getString("TransactionID")+"Originating_System:"+rs.getString("Originating_System")+"Sending_System:"+rs.getString("Sending_System")
                    +"Sequence_ID"+rs.getString("Sequence_ID")+"Operation"+rs.getString("Operation")+"GID_Assigner"+rs.getString("GID_Assigner")+"GID"+rs.getString("GID")
                    +"Sending_Organizaion:"+rs.getString("Sending_Organizaion")+"Sending_User"+rs.getString("Sending_User")+"isAsynchronous"+rs.getBoolean("isAsynchronous")
                    +"DeliveryMethod:" +rs.getString("DeliveryMethod")+"ResponceDeliveryEndpoint: "+rs.getString("ResponceDeliveryEndpoint")+"Consumer_Message_ID"+rs.getString("Consumer_Message_ID")
                    +"eHealth_Transaction_ID"+rs.getString("eHealth_Transaction_ID")+" LOB_Repository_ID: "+rs.getString("LOB_Repository_ID"));

                }

                */ 
            JsonConverter json1=new JsonConverter();
            json1.convertToJson(rs);
            con.close();
            System.out.println("connection is ok");
            } //end try

            catch(ClassNotFoundException e) {
            e.printStackTrace();
            }

            catch(SQLException e) {
            e.printStackTrace();
            }
        //      System.out.println("all data are printed to console..");

    }
}

我收到以下错误消息

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

at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:489)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:553)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:254)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:528)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at com.jay.controller.Dao.main(Dao.java:26)

原因:甲骨文。网纳什。NetException:侦听器拒绝连接,出现以下错误:ORA-12505,TNS:侦听器当前不知道连接描述符中给出的SID

at oracle.net.ns.NSProtocol.connect(NSProtocol.java:399)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1140)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:340)
... 7 more

请帮我这个...

共有2个答案

凌志学
2023-03-14

我找到了解决这个问题的办法。通过以下查询“选择用户名,来自用户的权限”我发现我用错了用户名。纠正后,问题解决了:)

贲铭
2023-03-14

我猜数据库的名字不是“SYSTEM”。

你可以在这里看到的url语法:http://www.orafaq.com/wiki/JDBC

 类似资料:
  • MyAlertDialog在尝试将上下文设置为侦听器时抛出ClassCastException。我正在从片段调用MyAlertDailog。 我正在使用在android开发文档中找到的指南。 https://developer.android.com/guide/topics/ui/dialogs#PassingEvents 我的片段 MyAlertDialog 错误报告

  • 问题内容: 我可以使用tns文件从plsql连接到数据库 现在,我想使用JDBC从Java连接到数据库。 我试过的 我搜索谷歌,我发现我必须使用此连接字符串: 我的电脑名称是 myPC 在tnsfile中写入的端口是 5151 所以我尝试了这个连接字符串 但我有这个例外 我究竟做错了什么? 如何使用tns文件将JDBC连接到数据库? 问题答案: 您必须设置一个名为的属性,以指向包含您的文件的文件夹

  • 我可以使用tns文件从plsql连接到数据库 现在我想使用JDBC从我的Java连接到数据库。 我在谷歌上搜索,我发现我必须使用这个连接字符串:

  • 嗨,我已经在我的笔记本电脑上安装了来练习Oracle。我已连接到 HR 帐户。它已经连接了3天,但是在那之后,当我尝试通过SQL Developer连接时,我收到此错误:

  • 检查下面的配置。如何配置才能使其发挥作用?

  • 当我尝试通过SQLDeveloper或我的java应用程序连接到oracle时,我得到以下错误,尽管我能够从SQLPLUS(命令行工具)连接 每当我做系统重新启动时,我都会遇到这个问题。虽然系统重新启动后10次中有1次,但我能够成功连接。 我可以看到所有的oracle服务,包括<code>OracleOraDb11g_home1TNSListener</code>都在服务部分。仅供参考,我的SID