繁体   English   中英

SQLNonTransientException的可能解决方案

[英]Possible solutions for a SQLNonTransientException

我对使用Java进行数据库连接非常陌生,并且很难连接到所提供的数据库。 到目前为止,我已经了解到安装正确的DB2驱动程序可能是一个问题,并将其放入程序的CLASSPATH中。 我已完成此操作,但仍无法建立连接。 请帮忙!

这是我在Eclipse中的错误报告的打印输出:

com.ibm.db2.jcc.am.SqlNonTransientConnectionException:[jcc] [t4] [10380] [11951] [4.13.127]必需的属性“ URLname”是未知主机。 ERRORCODE = -4222,com.ibm.db2.jcc.am.id.a(id.java:667)处的SQLSTATE = 08001 com.ibm.db2.jcc.am.id.a(id.java:60)处的SQLSTATE = 08001位于com.ibm.db2.jcc.t4.a(com.ibm.db2.jcc.t4.a.(a.java:231)处com.ibm.db2.jcc的com.ibm.db2.jcc.am.id.a(id.java:103)处。 com.ibm.db2.jcc.am.kb.a(kb.java:700)的com.ibm.db2.jcc.am.kb.(kb.java:653)的t4.ba(b.java:1901) )com.ibm.db2.jcc.DB2SimpleDataSource的com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(DB2SimpleDataSource.java:231)的com.ibm.db2.jcc.t4.b.(b.java:332) Java的com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:472)的.getConnection(DB2SimpleDataSource.java:197)在Java的com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:113)的。 ServerAcessDemo.main(ServerAcessDemo.java:23)上java.sql.DriverManager.getConnection(未知源)的sql.DriverManager.getConnection(未知源)

这是我到目前为止开发的代码:

import java.sql.*;

public class ServerAcessDemo{

    // jdbc driver name and database URL
    static final String JDBC_DRIVER = "com.ibm.db2.jcc.DB2Driver";
    static final String DB_URL = "jdbc:db2://URLname/portNumber";

    // Database credentials
    static final String USER = "userID";
    static final String PASSWORD = "password";

    public static void main(String[] args){

        Connection conn = null;
        try{
            // Register JDBC driver
            Class.forName(JDBC_DRIVER);

            // open a connection
            System.out.println("Connecting to a selected database...");
            conn = DriverManager.getConnection(DB_URL, USER, PASSWORD);
        }
        catch(Exception e){
            // handle errors for Class.forName
            e.printStackTrace();
        }
        finally{
            // finally block used to close resources
            try{
                if(conn!=null)
                    conn.close();
            }
            catch(SQLException se){
                se.printStackTrace();
            }//end finally try
        }//end try
    }
}

我不确定这是否就这么简单,但是您可以设置:

static final String DB_URL = "jdbc:db2://URLname/portNumber";

并且错误是Required property "URLname" is unknown host ,因此似乎您提供了错误的DB_URL值,它应该类似于jdbc:db2://localhost:50000/your_database_name ,假设您的数据库在本地50000端口上运行,您需要提供正确的数据库名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM