2014-02-07 20 views
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 

我應該configurate 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");連接不用錯誤。你能想到有什麼問題嗎?

+0

是否應該說「plocal:/ database/bugsac」或者是「local:/ database/bugsac」(沒有'p')? –

+0

如果我使用'local'而不是'plocal',我在線程「main」中獲得'Exception「com.orientechnologies.orient.core.exception.OStorageException:無法在com上使用mode = rw 打開本地存儲'/ database/bugsac'。 orientechnologies.orient.core.storage.impl.local.OStorageLocal.open(OStorageLocal.java:218)at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.open(ODatabaseRaw.java:109)...' – cadmy

+1

嗯,然後看看這篇文章:http://stackoverflow.com/questions/18383154/closing-a-local-orientdb-when-using-connection-pools –

回答

1

的錯誤是明顯的:

java.lang.ClassNotFoundException: org.iq80.snappy.Snappy 

已包含活潑的* .jar在類路徑?