У меня самая простая программа JDBC для чтения данных из экземпляра DB2 (или другого сконфигурированного). Когда я пытаюсь запустить его из Eclipse ИЛИ из командной строки, происходит сбой подключения, в результате чего возникает исключение SQL
Class.forName(jdbcDriverClassName).newInstance();
Сбой class.forName, используя com.ibm.db2.jcc.DB2Driver
. Я настроил Eclipse так, чтобы он указывал на тот же драйвер, который использует DBVisualizer (как в качестве загрузочной библиотеки, так и для проекта). Программа использует ту же строку подключения, что и DBVisualizer. DBVisualizer не имеет никаких проблем.
Выход с полным стеком (обратите внимание, что FQN для драйвера не является нулевым):
V-- !null driver name --V
Attempting to load com.ibm.db2.jcc.DB2Driver
ERROR:java.lang.ExceptionInInitializerError: null
java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.ibm.db2.jcc.DB2Driver.class$(DB2Driver.java:58)
at com.ibm.db2.jcc.DB2Driver.<clinit>(DB2Driver.java:61)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.onlineretailer.ecomm.dumporder.DumpOrder.main(DumpOrder.java:79)
Caused by: java.lang.NullPointerException
at com.ibm.db2.jcc.am.ib.i(ib.java:490)
at com.ibm.db2.jcc.am.ib.<clinit>(ib.java:420)
... 7 more
Я также попытался добавить .newInstance () в конец class.forName (), и он продолжает выполнять то же поведение.
Спасибо всем за ваше время и вклад!