Как интегрировать базу данных JavaDB в мой основной пакет Java
Я работаю над настольным приложением, которое использует JavaDB. Я использую NetBeans 6.8 и JDK 6, обновление 20
Я создал нужную базу данных и подключился к ней через свое приложение, используя ClientDriver
:
String driver = "org.apache.derby.jdbc.ClientDriver";
String connectionURL = "jdbc:derby://localhost:1527/myDB;create=true;user=user;password=pass";
try {
Class.forName(driver);
} catch (java.lang.ClassNotFoundException e) {
e.printStackTrace();
}
try {
schedoDBConnection = DriverManager.getConnection(connectionURL);
} catch (Exception e) {
e.printStackTrace();
}
Это отлично работает. Но в этом случае служба базы данных поступает из NetBeans. Если я перенесу свое приложение на другой компьютер, я не смогу получить доступ к своей базе данных. Как я могу интегрировать свою JavaDB в мое приложение?
3 ответа
Если я перенесу свое приложение на другой компьютер, я не смогу получить доступ к своей базе данных. Как я могу интегрировать свою JavaDB в мое приложение?
NetBeans запускает Derby в режиме сетевого сервера, а Derby работает в другой JVM. Если вы хотите встроить вашу базу данных в приложение, вам нужно запустить Derby во встроенном режиме из приложения. Для этого используйте EmbeddedDriver
предоставлено derby.jar
,
/*
If you are running on JDK 6 or higher, you do not
need to invoke Class.forName(). In that environment, the
EmbeddedDriver loads automatically.
*/
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection conn = DriverManager.getConnection("jdbc:derby:sample");
По умолчанию база данных будет создана / загружена из рабочего каталога. Если вы хотите больше контроля, рекомендуется установить derby.system.home
системное свойство. Посмотрите на Использование Java DB в настольных приложениях.
Смотрите также
База данных не приходит от Netbeans; это встроено в сам JDK.
Клиенты должны иметь доступный JAR-файл драйвера JDBC. Если вы используете базу данных как сервер, ваши пользователи должны будут запустить сервер. Может быть, это часть, которую Netbeans делает для вас, которую нужно заменить.
После того, как вы создадите db derby и подключитесь к localhost, вам нужно добавить строку в файл derby.properties, расположенную в базе данных вашего каталога.
derby.drda.host=10.0.0.40 //example IPAddress
сохранить и перейти к подключению в NetBeans и изменить локальный хост для вас IPaddress