2
При использовании консоли все работает, но когда я пытаюсь открыть базу данных из приложения Java это появляются ошибкиНевозможно открыть orientdb базу данных из приложения Java
WARNING: Sun Unsafe direct memory implementation is going to be used, this implementation is not stable so please use JNA version instead.
Exception in thread "main" com.orientechnologies.common.exception.OException: Error on creation of shared resource
at com.orientechnologies.common.concur.resource.OSharedContainerImpl.getResource(OSharedContainerImpl.java:55)
at com.orientechnologies.orient.core.metadata.OMetadataDefault.init(OMetadataDefault.java:110)
at com.orientechnologies.orient.core.metadata.OMetadataDefault.load(OMetadataDefault.java:68)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.open(ODatabaseRecordAbstract.java:132)
at com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.open(ODatabaseWrapperAbstract.java:53)
at ru.sersem.bugsaccounting.RegBugs.openDataBase(RegBugs.java:36)
at com.library.test.Test.main(Test.java:5)
Caused by: com.orientechnologies.orient.core.exception.ORecordNotFoundException: The record with id '#0:1' not found
at com.orientechnologies.orient.core.record.ORecordAbstract.reload(ORecordAbstract.java:294)
at com.orientechnologies.orient.core.record.impl.ODocument.reload(ODocument.java:374)
at com.orientechnologies.orient.core.type.ODocumentWrapper.reload(ODocumentWrapper.java:87)
at com.orientechnologies.orient.core.type.ODocumentWrapperNoClass.reload(ODocumentWrapperNoClass.java:69)
at com.orientechnologies.orient.core.metadata.schema.OSchemaShared$16.call(OSchemaShared.java:605)
at com.orientechnologies.orient.core.storage.OStorageAbstract.callInLock(OStorageAbstract.java:185)
at com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage.callInLock(OLocalPaginatedStorage.java:1322)
at com.orientechnologies.orient.core.metadata.schema.OSchemaShared.load(OSchemaShared.java:600)
at com.orientechnologies.orient.core.metadata.OMetadataDefault$1.call(OMetadataDefault.java:114)
at com.orientechnologies.orient.core.metadata.OMetadataDefault$1.call(OMetadataDefault.java:110)
at com.orientechnologies.common.concur.resource.OSharedContainerImpl.getResource(OSharedContainerImpl.java:53)
... 6 more
Caused by: com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #0:1 (cluster: internal)
at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.read(ODatabaseRaw.java:250)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeReadRecord(ODatabaseRecordAbstract.java:706)
at com.orientechnologies.orient.core.tx.OTransactionNoTx.loadRecord(OTransactionNoTx.java:63)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.reload(ODatabaseRecordTx.java:232)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.reload(ODatabaseRecordTx.java:38)
at com.orientechnologies.orient.core.record.ORecordAbstract.reload(ORecordAbstract.java:287)
... 16 more
Caused by: java.lang.NoClassDefFoundError: org/iq80/snappy/Snappy
at com.orientechnologies.orient.core.serialization.compression.impl.OSnappyCompression.uncompress(OSnappyCompression.java:39)
at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.readRecord(OPaginatedCluster.java:574)
at com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage.readRecord(OLocalPaginatedStorage.java:1160)
at com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage.readRecord(OLocalPaginatedStorage.java:1140)
at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.read(ODatabaseRaw.java:244)
... 21 more
Caused by: java.lang.ClassNotFoundException: org.iq80.snappy.Snappy
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 26 more
Должен ли я конфигурировать orientdb-server-config.xml
или что-то еще? Это код, что я использую для подключения
public static void openDataBase() {
ODatabaseDocumentTx db = new ODatabaseDocumentTx("plocal:/database/bugsac");
db.open("admin", "admin");
try {
System.out.println(db.getName());
} finally {
db.close();
}
Ошибки происходит здесь db.open("admin", "admin");
соединение проходит без ошибок. Не могли бы вы предположить, в чем проблема?
Должен ли он сказать «plocal:/database/bugsac» или вместо этого «local:/database/bugsac» (без «p»)? –
Если я использую 'local' вместо' plocal', я получаю 'Исключение в потоке 'main' com.orientechnologies.orient.core.exception.OStorageException: Не удается открыть локальное хранилище '/ database/bugsac' с режимом = rw at com. orientechnologies.orient.core.storage.impl.local.OStorageLocal.open (OStorageLocal.java:218) в com.orientechnologies.orient.core.db.raw.ODatabaseRaw.open (ODatabaseRaw.java:109) ... ' – cadmy
Ах, тогда взгляните на этот пост: http://stackoverflow.com/questions/18383154/closing-a-local-orientdb-when-using-connection-pools –