2013-02-13 2 views
0

Я хочу подключиться к базам данных Oracle и DB2 по какой-либо причине с помощью JDBC. В основном классе, когда я пытаюсь подключиться к Oracle, соединение успешно, но соединение DB2 НЕ удаётся выполнить эту ошибку: «Yuva acilirken hata olustu» означает «Socket не открывается». Что может быть проблемой ??? Oracle работает, но DB2 не работает. Я проверил все пароли, имена пользователей, имена хостов и порты снова и снова для DB2.JDBC DB2 не может подключиться (SQLSTATE = 08S01)

COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0616E Yuva açılırken hata oluştu. SQLSTATE=08S01 
at COM.ibm.db2.jdbc.net.SQLExceptionGenerator.socketException(Unknown Source) 
at COM.ibm.db2.jdbc.net.DB2Connection.create(Unknown Source) 
at COM.ibm.db2.jdbc.net.DB2Connection.<init>(Unknown Source) 
at COM.ibm.db2.jdbc.net.DB2Driver.connect(Unknown Source) 
at java.sql.DriverManager.getConnection(DriverManager.java:590) 
at java.sql.DriverManager.getConnection(DriverManager.java:232) 

Чтобы получить соединение, я пишу это в основном

connORA = DirectConnection.getOracleConnection(); 
connDB2 = DirectConnection.getDB2Connection(); 

Мой класс Connection Я определил Oracle соединения и подключения DB2 следующим образом: (Может быть, проблема в соединении с DB2 Метод Oracle коннекторов? успешно)

public static Connection getOracleConnection() throws SQLException, ClassNotFoundException{ 
    return getConnection("oracle.jdbc.driver.OracleDriver", "jdbc:oracle:thin:@host:port:name", "username", "password");} 

    public static Connection getDB2Connection() throws SQLException{ 
    return getConnection("COM.ibm.db2.jdbc.net.DB2Driver", "jdbc:db2://host:port:name","username", "password");} 
+0

Итак, можете ли вы * telnet * подключиться к серверу/порту сервера db2? Если вы не можете, то это не слушает –

+0

Привет, Брайан, я не могу подключить DB2 с telnet, как вы сказали. Но когда я telnet Oracle, «который я могу подключить успешно», он тоже не слушает. Возможно, это не источник проблемы. – Lyrk

+1

Попробуйте отключить брандмауэр на вашем компьютере и подключиться (DB не прослушивание или блокировка брандмауэра являются распространенными причинами таких проблем ...) –

ответ

0

Попробуйте использовать это в качестве драйвера вместо:

String driver = "com.ibm.db2.jcc.DB2Driver";

+0

, пожалуйста, добавьте его в качестве комментария или дайте больше объяснений. – ncm

1

Во-первых, как упоминалось в ThePhantom05, вы должны использовать драйвер JCC, а не старший сетевой драйвер. Правильный шаблон URL для соединения DB2 JDBC будет jdbc:db2://host:port/database_name

Смежные вопросы