PDA

View Full Version : [Java] Connessione a DB2


bobby1112
13-10-2009, 21:17
ciao ragazzi devo connettermi ad un database DB2 con java
ecco la mia funzione di connessione

public class Connessione {
public Connection getConnection() {
Connection connection = null;
try {
// Load the JDBC driver
String driverName = "com.ibm.db2.jcc.DB2Driver"; // MM JDBC
// driver
Class.forName(driverName);

// Create a connection to the database
String serverName = "myserver:9080";
String mydatabase = "prova";
String url = " jdbc:db2://" + serverName + "/" + mydatabase; // a
// JDBC
// url
String username = "ADMIN";
String password = "ADMIN";
connection = DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return connection;

}


mi ritorna questo errore
java.sql.SQLException: No suitable driver found for jdbc:db2://localhost:9080/TEST
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Core.ConnessioneMysql.connettiDB2(ConnessioneMysql.java:96)
at Core.Connessione.main(Connessione.java:58)

i jar che aggiungo sono:
_db2jcc.jar
_db2jcc_license.jar

:help:

PGI-Bis
13-10-2009, 22:16
Forse è la stringa di connessione che non va. Sul sito di IBM

http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/rjvjcdif.htm

leggo che i driver sono due e che hanno due diverse stringhe di connessione. La tua sembra quella di "DB2 Universal Database Version 8", forse devi usare l'altra

"jdbc:db2:nome del database nel client db2";

bobby1112
13-10-2009, 23:11
ho cambiato la stringa

String driverName = "COM.ibm.db2.jdbc.app.DB2Driver "

e adessso mi porta questo errore

java.lang.ClassNotFoundException: COM.ibm.db2.jdbc.app.DB2Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at Core.ConnessioneMysql.connettiDB2(ConnessioneMysql.java:91)
at Core.Connessione.main(Connessione.java:59)

devo includere qualche .jar
:help: