繁体   English   中英

Neo4j JDBC和嵌入式服务器

[英]Neo4j JDBC and Embedded Server

我正在尝试将Neo4j的JDBC驱动程序与嵌入式Neo4j一起使用。 我已经复制了jar文件,配置了构建路径,并编写了代码来创建GraphDatabaseService,这是有限指令所指示的。 但是,我不知道如何使JDBC指向嵌入式(希望运行)服务器。

我为JDBC指定的URL是“ jdbc:neo4j:simulationDb?debug = true”。 如何以及在哪里为嵌入式服务器设置此设置?

如果要连接到嵌入式数据库,则您的JDBC网址应如下所示:

jdbc:neo4j:file:/home/user/neo/graph.db其中/home/user/neo/graph.db是Neo4j数据库的路径。

然后使用获取一个java.sql.Connection

Connection con = DriverManager.getConnection("jdbc:neo4j:file:/home/user/neo/graph.db");

根本没有嵌入式服务器之类的东西-它要么嵌入在您的应用程序中(根据您提供的链接),要么嵌入在Neo4j作为独立服务器运行的服务器模式中。 如果在服务器模式下运行,则JDBC URL类似于jdbc:neo4j://localhost:7474/ (如果Neo4j服务器在localhost:7474上运行), jdbc:neo4j://localhost:7474/相同的方式获得Connection。

这里有一些使用JDBC驱动程序的示例代码https://github.com/luanne/flavorwocky-jdbc-migrate/blob/master/src/com/flavorwocky/migrate/MigrateDb.java

其实...我只是想通了。 为了后代的缘故,我将在此处发布代码段。

simulationDb = new GraphDatabaseFactory() 
.newEmbeddedDatabaseBuilder(DB_PATH)
.loadPropertiesFromFile(CONFIG_PATH) 
.newGraphDatabase(); 

registerShutdownHook(simulationDb); 

Class.forName(JDBC_DRIVER); 

Properties props = new Properties(); 
props.put("simulationDb", simulationDb); 

db = DriverManager.getConnection(URL, props);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM