У меня возникли проблемы с получением моих программ OSGI для распознавания/использования драйвера mysql jdbc.Драйвер JDBC в OSGI (Eclipse IDE)
У меня есть пакет, который специально предназначен для ввода данных в базу данных mysql. Я скопировал все те же методы, что и в тестовой программе (не-OSGI). Я не могу создать соединение suing DriverManager.getConnection().
Я добавил драйвер в путь класса и попробовал все решения на этом сайте, например, используя Class.forName(). Возможно, я ввожу неверную строку arg в forName().
public void createConn(String URL, String DBName, String username, String password){
try {
Class.forName("mysql-connector-java-5.1.14-bin.jar");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
try {
conn = DriverManager.getConnection(URL + DBName,username,password);
System.out.println("Connection Created");
stmt = conn.createStatement();
System.out.println("Statement Created");
//data = new ApplianceData();
//flag = true;
//this.writeThread = new Thread();
//writeThread.start();
} catch (SQLException e) {
System.err.println(e.getMessage());
}
}
Может кто-нибудь сказать мне аргумент, который они использовали в Class.forName();
У кого-нибудь есть решение этой проблемы или столкнулись с этим?
Спасибо, что позаботились о Exception ClassNotFound. Теперь у меня есть ошибка, указывающая, что драйвер не подходит. Я знаю, что OSGI имеет некоторые проблемы с драйверами и т. Д. Может кто-то порекомендовать способ обойти это?
Я поместил jdbc jar в папки установочного bin java и в папку bin пакета.
ClassLoader DBHCL = ClassLoader.getSystemClassLoader();
DBHCL.loadClass("com.mysql.jdbc.Driver");
Class.forName("com.mysql.jdbc.Driver", true, DBHCL).newInstance();
System.out.println("Class Loaded");
//DriverManager.getDriver("jdbc:mysql://localhost/timedb");
//System.out.println("Driver Gotten");
conn = DriverManager.getConnection(URL + DBName,username,password);
System.out.println("Connection Created");
stmt = conn.createStatement();
System.out.println("Statement Created");
connFlag = true;
Console Output, ошибка: OSGi> запустить 7 Service Data Base (MYSQL) Запуск Класс не Loaded Нет подходящий драйвер найден для JDBC: MySQL: // локальный/timedb Исключение в потоке «резьбовых 1 "INSERT INTO appliance1 ...
У кого-нибудь есть понимание этой проблемы?
Благодаря
'Class.forName (" ClassNameIsExpectedHereNotJarName ");' – Nishant