我对使用Java的数据库连接非常陌生,并且很难连接到我提供的数据库。到目前为止,我已经了解到安装正确的DB2驱动程序可能是一个问题,并将它们放在程序的CLASSPATH
中。我这样做了,我仍然无法建立连接。请帮助!
以下是Eclipse中我的错误报告的打印:
com.ibm.db2.jcc.am.SqlNonTransientConnectionException: [jcc] [t4] [10380] [11951] [4.13.127]必需属性“URLname”是 未知主机。 ERRORCODE = -4222,SQLSTATE = 08001 at com.ibm.db2.jcc.am.id.a(id.java:667)at com.ibm.db2.jcc.am.id.a(id.java:60)at com.ibm.db2.jcc.am.id.a(id.java:103)at com.ibm.db2.jcc.t4.a.(a.java:231)at com.ibm.db2.jcc.t4.b.a(b.java:1901)at com.ibm.db2.jcc.am.kb.a(kb.java:700)at com.ibm.db2.jcc.am.kb.(kb.java:653)at com.ibm.db2.jcc.t4.b.(b.java:332)at com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(DB2SimpleDataSource.java:231) 在 com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(DB2SimpleDataSource.java:197) 在com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:472)at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:113)at at java.sql.DriverManager.getConnection(未知来源)at java.sql.DriverManager.getConnection(未知来源)at ServerAcessDemo.main(ServerAcessDemo.java:23)
以下是我目前开发的代码:
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
}
}
答案 0 :(得分:1)
我不确定这是否就这么简单,但你设置:
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端口上本地运行,您需要提供正确的数据库名称。