Я пытаюсь загрузить драйвер JDBC, чтобы сделать некоторые вызовы SQL для моего AS400. Я попытался запустить соединение на компьютере, на котором установлен JDBC, и ссылки на URL и SQL работают нормально.не может загрузить драйвер jdbc (ClassNotFoundException)
Мне нужно разработать приложение (в настоящее время для Android, хотя мы ищем расширение на настольное приложение), в котором нет установленных драйверов. Я тестирую код на реальном устройстве Android, а не на эмуляторе, поэтому у него есть полные разрешения для Интернета.
У jt400 есть драйверы, которые находятся в com.ibm.as400.access.AS400JDBCDriver как noted by IBM.
Это мой код:
try {
Class.forName("com.ibm.as400.access.AS400JDBCDriver").newInstance();
Connection conn = DriverManager.getConnection(
url + schema + ";naming=sql;errors=full",
uname,
psswrd);
// do SQL query stuff
rs.close();
stmt.close();
conn.close();
}
catch (ClassNotFoundException e)
{
this.basicOutput.setText("Class not found: " + e.getMessage());
System.out.println(e.getStackTrace());
}
//catch (SQLException e)
catch (Exception e) //need generic to catch all errors thrown
{
this.basicOutput.setText(e.getMessage());
System.out.println(e.getStackTrace());
}
я получаю "класс не найден: com.ibm.as400.access.AS400JDBCDriver", когда я запускаю это.
Я провел некоторое исследование, и это говорит о том, что Class.forName не является хорошим способом. Поэтому я также пробовал это:
DriverManager.registerDriver(new com.ibm.as400.access.AS400JDBCDriver());
Но это также дает ту же ошибку.
Класс есть. Скомпилированный код не выдает никаких синтаксических ошибок, но по какой-то причине среда выполнения не может ее найти.
Что мне не хватает?
JDBC - это не то, что установлено. Драйвер jdbc - это класс, который взаимодействует с вашей базой данных. Вы должны иметь этот класс (обычно в файле .jar) в вашем пути к классу при запуске приложения. –
Я вижу. Есть ли способ включить его или загрузить его из .jar, который включен в проект, а не в путь к классам? – Sammy
Вы включаете 'jar' в свой проект в папке libs, а затем добавляете эту папку libs в путь сборки. Выполните следующие шаги: http://stackoverflow.com/questions/1334802/how-can-i-use-external-jars-in-an-android-project –