gpt4 book ai didi

java - 远程访问OrientDB嵌入式服务器

转载 作者:行者123 更新时间:2023-12-02 08:58:15 25 4
gpt4 key购买 nike

使用社区版 v2.1.11

我编写了一个简单的数据同步器,它从 MS-SQL DB 获取数据,并将其与 OrientDB 图中的数据同步。

更新可能相当大,图表应该每 20 分钟更新一次,所以我更喜欢使用 plocal 模式;此外,其他应用程序应该对图具有全天候的读取访问权限,因此我决定将服务器嵌入到Java应用程序中,并将同步过程交给调度程序(ScheduledExecutorService)。

问题是,尽管 docs ,我无法从控制台或工作室访问在嵌入式服务器上运行的数据库:

orientdb> connect remote:localhost/test root myP@ss

Disconnecting from the database [null]...OK Connecting to database [remote:localhost/test] with user 'root'... Error: com.orientechnologies.orient.core.exception.OStorageException: Cannot open local storage 'C:/orientdb/databases/test' with mode=rw

Error: com.orientechnologies.orient.core.exception.OSerializationException: Cann ot load database's configuration. The database seems corrupted

Error: com.orientechnologies.common.concur.lock.OLockException: File 'C:\orientd b\databases\test\database.ocf' is locked by another process, maybe the database is in use by another process. Use the remote mode with a OrientDB server to allo w multiple access to the same database

这是我的服务器初始化代码:

String orientdbHome = "C:/orientdb/";
System.setProperty("ORIENTDB_HOME", orientdbHome);
OServer server = OServerMain.create();
server.startup(new File("C:/orientdb/config/embedded_config.xml"));
OGlobalConfiguration.WAL_LOCATION.setValue("/Temp/wal");
server.activate();

OrientGraph g = new OrientGraph("plocal:C:/orientdb/databases/Test");

我是 Orient 的新手,所以我确信我错过了一些东西,但即使 Google 也无法帮助我弄清楚到底是什么:(

最佳答案

我认为问题在于,当您使用 plocal 协议(protocol)连接时,它会锁定资源。

因此,在您已经通过 OrientGraph g = new OrientGraph("plocal:C:/orientdb/databases/Test"); 创建 plocal 连接后,您无法通过控制台(甚至远程或 plocal)进行连接。

关于java - 远程访问OrientDB嵌入式服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35918951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com