Программная настройка derby.system.home - PullRequest
6 голосов
/ 28 сентября 2010

Необходимо переместить базу данных и файлы журналов файлов JavaDB (derby) db в каталоги развертывания. База данных работает в каталоге запуска приложения, так как JavaDB создает папку с именем базы данных (в моем случае mydb), но я хочу переместить этот каталог в подкаталог data / creation data / mydb. Я могу сделать это с помощью вызова подключения:

DriverManager.getConnection("jdbc:derby:data/mydb;create=false");

и это работает. Но я хотел бы программно явно установить значение

derby.system.home = данные /
derby.stream.error.file = Журнал / derby.log

Так что я могу сделать:

DriverManager.getConnection("jdbc:derby:mydb;create=false");

и все базы данных будут в этих данных / директории. И файл журнала derby будет в logs /! Я просто не могу понять это. Кто-нибудь поможет? Есть ли способ установить эти свойства программно (потому что он встроен)?

1 Ответ

6 голосов
/ 28 сентября 2010

Документация (Руководство разработчика Derby: настройка свойств Derby) предлагает что-то вроде:

Properties p = System.getProperties();
p.setProperty("derby.system.home", "C:\databases\sample");

Я также видел

/* setting an attribute in a Properties object */
Properties myProps = new Properties();
myProps.put("create", "true");
Connection conn = DriverManager.getConnection("jdbc:derby:sampleDB", myProps);
...