Как прочитать сообщение об ошибке «база данных не найдена» из apache derby?

Обычно я программирую на других языках, но это почти мое первое знакомство с Java; Меня попросили разобраться в следующем журнале ошибок, исходящем от программы, использующей apache derby.

Я вижу, что проблема в контуре

java.sql.SQLException: Database '/infermeria' not found.

но после прочтения

Я до сих пор не могу сказать, сталкиваюсь ли я с простой проблемой пути или с более глубокой ошибкой.

Итак, я испробовал самый детский трюк, скопировав infermeria.jar в каждый каталог, но он все равно не работает.

Поэтому возникает вопрос: достаточно ли такого журнала для обнаружения проблемы?

Спасибо за ответы !!

23/02/2015 11:04:44 [INFO ] Infermeria launched.
23/02/2015 11:04:45 [DEBUG] Trying to connect to: jdbc:derby:/infermeria
23/02/2015 11:04:45 [ERROR] Exception preparing statements
java.sql.SQLException: Database '/infermeria' not found.
    at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedConnection.handleDBNotFound(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source)
    at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
    at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
    at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at infermeria.Application.prepareStatements(Application.java:136)
    at infermeria.Application.<init>(Application.java:88)
    at infermeria.Application$1.run(Application.java:1710)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$400(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.sql.SQLException: Database '/infermeria' not found.
    at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
    ... 31 more

person PoincareConjecture    schedule 23.02.2015    source источник


Ответы (1)


Это очень похоже на эту проблему.

Попробуйте указать полный путь к своей базе данных: «jdbc: derby: / path / to / my / db / infermeria».

person Szymon Roziewski    schedule 23.02.2015