У меня возникли некоторые проблемы с тем, чтобы заставить мои программы OSGI распознавать / использовать драйвер mysql jdbc.
У меня есть пакет, специально предназначенный для ввода данных в базу данных mysql.Я скопировал все те же методы, что и в тестовой программе (не OSGI).Я не могу создать соединение с помощью 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 ();
Кто-нибудь имеет решение этой проблемы или сталкивался с этим?
Спасибо, что позаботился об исключении 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;
Вывод на консоль, ошибка: osgi> start 7 Служба базы данных (MYSQL) Начальный класс загружен Не найдено подходящего драйвера для jdbc: mysql: // localhost / timedb Исключение в потоке "Thread-1" INSERT INTO appliance1...
У кого-нибудь есть понимание этой проблемы?
Спасибо