Идея моего приложения заключается в том, чтобы исключить прямой доступ клиента к моей базе данных (который находится в формате .mdb), загрузив весь файл .mdb на клиентскую сторону, записывая изменения, сделанные ими, и загружая эти изменения один раз в день для каждого клиент. Проблема, которую я имею при использовании ucanaccess, кажется, что она загружает всю базу данных каждый раз, когда вызывается getDatabase2(). в консоли это то, что я получаю бесконечное время, пока приложение не загрузится. (И это займет много времени). Есть ли способ сделать ucanaccess только для моста (только транзакция)? или, может быть, я использую неправильный подход? Файл .mdb имеет размер 50Mo с максимальными входами 80-100k. Я использую Windows XP, Затмение Java 7. код для getDataBase выглядит следующим образомucanaccess перегружает систему, что делать?
private static Connection getDatabase2() throws Exception{
String url="jdbc:ucanaccess:////Jv1kbafap001/teams/Medic/database.mdb;memory=false";
String user="admin";
String pass="";
return DriverManager.getConnection(url,user,pass);
}
Спасибо за хед-апр о времени загрузки. Тем не менее, мне трудно понять «параметр переадресации соединения для переопределения исходного внешнего пути базы данных»? вы имеете в виду разные настройки в URL-адресе? EDIT: Удивительная идея (фильтр mdb и связанные таблицы), я получу на нем –
Я не знаю, действительно ли вам это нужно (полезно, например, заменить связанный путь базы данных на unix/linux os '), но синтаксис: jdbc: ucanaccess: // <путь к фильтру mdb>; remap = <связанный путь к базе данных как установленный при доступе> | <путь реальной привязки базы данных на клиенте> например jdbc: ucanaccess: ///opt/filter.mdb; remap = c: /db/database.mdb | /opt/database.mdb; memory = false – jamadei
Ах, я думал, что это параллельный способ использовать под окнами, Спасибо, в любом случае, идея установить связанную базу данных уменьшила время загрузки на 25%, а не проверяет весь дБ, он просто ловит связанные таблицы. –