Проблема с подключением Java к базе данных sybase
Я хочу создать соединение с Sybase DB в Java-приложении. Я добавил jconn4.jar в свой проект, но когда я подключаюсь к БД в коде, у меня есть исключение ClassNotFoundException: com.sybase.jdbc4.jdbc.SybDriver
, Мое соединение:
SqlConnect() {
try {
DriverManager.registerDriver(new com.sybase.jdbc4.jdbc.SybDriver());
} catch (SQLException e) {
System.err.println("SQL exception " + e.getMessage());
}
}
А также
public void connect() {
try {
connection = DriverManager.getConnection("jdbc:sybase:Tds:localhost:5000", "DBA", "sql");
connection.setAutoCommit(false);
} catch (SQLException e) {
}
}
Я хочу подключиться к демонстрационной базе данных PowerBuilder с параметрами:
DSN=EAS Demo DB V125;UID=dba;PWD=sql
Что я делаю не так?ДОБАВЛЕНО Кроме того, когда я пытаюсь создать соединение с базой данных через рабочий плагин базы данных intelij, у меня также появляется та же ошибка.
2 ответа
Итак, другой драйвер типа jdbc решил мою проблему - я подключил драйвер sajdbcX и изменил строку подключения:
connection = DriverManager.getConnection("jdbc:sqlanywhere:uid=DBA;pwd=sql");
Итак, еще раз спасибо Mark Rotteveel за совет - я удалил код регистрации драйвера как redddrant. И спасибо всем за идеи.
Убедитесь, что у вас есть уважаемые банки, включенные в ваш путь к классам. Следующие работы для меня:
использование Class.forname
загрузить драйверы
Рекомендуемый подход:
Class.forName("sybase.jdbc.sqlanywhere.IDriver")
con = DriverManager.getConnection("jdbc:sqlanywhere:uid=DBA;pwd=sql");
Другой способ обойти:
DriverManager.registerDriver((Driver) Class.forName("sybase.jdbc.sqlanywhere.IDriver").newInstance());
con = DriverManager.getConnection("jdbc:sqlanywhere:uid=DBA;pwd=sql");
Следующая ссылка поможет вам в установке драйверов: Как подключить базу данных Sybase с помощью кода Java в NetBeans?