【问题标题】:how can i resolve-oracle-11g-xe using eclipse我如何使用 eclipse 解析-oracle-11g-xe
【发布时间】:2017-12-30 06:50:48
【问题描述】:

我正在尝试制作一个示例 JDBC 程序,我必须创建表,但我面临这个问题我尝试了网络上存在的许多解决方案,我必须知道服务丢失但没有找到我是 JDBC 初学者的确切解决方案,任何帮助将不胜感激。

我的 JDBC 程序:-

import java.sql.*;


public class JdbcExample {

/**
 * @param args
 * @throws ClassNotFoundException 
 * @throws SQLException 
 */
public static void main(String[] args) throws ClassNotFoundException, SQLException {
    // TODO Auto-generated method stub
    String userName="system",password="admin",url="jdbc:oracle:thin:localhost:1521:xe";
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection con =  DriverManager.getConnection(url, userName, password);
    System.out.println(con);
    Statement stmt = con.createStatement();
    System.out.println(stmt);
    int b = stmt.executeUpdate("create table emp(eno number(5),name varchar2(20));");
    System.out.println("Table Created" + b);
    //      if(b)
    //      {
    //          
    //      }
    //      else
    //          System.out.print("WTF");


}

我的 LogCat:-

java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:404)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at JdbcExample.main(JdbcExample.java:19)

我的听众.ora

SID_LIST_LISTENER = (SID_LIST =
(SID_DESC =
  (SID_NAME = PLSExtProc)
  (ORACLE_HOME = J:\app\oracle\product\11.2.0\server)
  (PROGRAM = extproc)
)
(SID_DESC =
  (SID_NAME = CLRExtProc)
  (ORACLE_HOME = J:\app\oracle\product\11.2.0\server)
  (PROGRAM = extproc)
))LISTENER =(DESCRIPTION_LIST =
(DESCRIPTION =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
))DEFAULT_SERVICE_LISTENER = (XE)

提前致谢。 注意:我在 buildconfig 中包含了 ojdbc14_g.jar 文件。

【问题讨论】:

  • Windows 还是 Linux ?在 Windows(所有版本)上检查防火墙配置并允许 TCP 连接到端口 1521
  • 通过 Oracle SQL Developer 或 TOAD 怎么样?在这些工具中成功的连接字符串是什么样的?
  • @krokodilko 我试过但导致同样的错误。
  • 请找到listener.ora 文件并将其附加到问题中。您可以在 $ORACLE_HOME/network/admin 子目录中找到它(例如在我的 PC 上它位于 C:\app\oracle\product\12.1.0\dbhome_1\NETWORK\ADMIN 中)。请同时运行 tnsping xe 以检查与您的实例的连接性。
  • @krokodilko 请检查我编辑的问题。谢谢你的时间

标签: java eclipse oracle jdbc


【解决方案1】:

尝试更改:

"jdbc:oracle:thin:localhost:1521:xe"

到:

"jdbc:oracle:thin:@//localhost:1521/XE"

【讨论】:

    【解决方案2】:

    尝试从以下更改您的 JDBC 连接字符串:

    "jdbc:oracle:thin:localhost:1521:xe"
    

    到以下:

    "jdbc:oracle:thin:@localhost:1521:xe"
    

    您需要根据 SID 或 SERVICE NAME 的用法了解何时使用 :/

    INSTANCE SID by ":"
    jdbc:oracle:thin:@localhost:1521:SID
    SERVICE NAME by "/"
    jdbc:oracle:thin:@localhost:1521/SERVICE_NAME
    

    希望这会有所帮助!

    【讨论】:

    • 感谢@N00b Pr0grammer 的宝贵时间,但它仍然给我同样的错误。
    • 另外,当我提供像jdbc:oracle:thin:@localhost:1521/XE 这样的网址时,它会显示无效连接字符串格式
    猜你喜欢
    • 1970-01-01
    • 2018-07-07
    • 2016-04-26
    • 2018-11-07
    • 2021-10-18
    • 2013-11-29
    • 2014-10-20
    • 2023-03-17
    • 1970-01-01
    相关资源
    最近更新 更多