在java中的neo4j嵌入式数据库中,我应该如何检查两个节点是否相互关联?
我想要语法或教程链接,我已经看过neo4j网站,但没有找到它.
谢谢.
我需要为Windows构建一个简单的单用户数据库应用程序.主要要求是独立于Windows版本和已安装的软件.您会推荐哪些技术(语言/框架)?我对语言的偏好是Visual Basic.
编辑:VB.Net和SQL Server Compact Edition怎么样?
我在创建内存表时遇到问题,使用H2数据库,并在创建和运行的JVM外部访问它.
文档将URL构建为 jdbc:h2:tcp://<host>/mem:<databasename>
我尝试了很多组合,但根本无法让远程连接工作.此功能是否有效,任何人都可以向我提供他们如何使用此功能的详细信息.
我可以使用Spring以编程方式创建和初始化嵌入式数据库:
@Before
public void setUp() {
database = new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.H2)
.addScript("schema.sql")
.addScript("init.sql")
.build();
....
}
Run Code Online (Sandbox Code Playgroud)
或通过Spring配置:
<jdbc:initialize-database data-source="dataSource">
<jdbc:script location="classpath:schema.sql"/>
<jdbc:script location="classpath:init.sql"/>
</jdbc:initialize-database>
Run Code Online (Sandbox Code Playgroud)
我在这里的脚本schema.sql和init.sql存储在目录中src/test/resources.因此,如果使用嵌入式数据库的测试运行:
mvn test
Run Code Online (Sandbox Code Playgroud)
然后存在的文件src/test/resources可用,一切都很好.
但现在假设我想在集成测试中使用嵌入式数据库和嵌入式Web服务器(Jetty或嵌入式Tomcat),通过
mvn integration-test
Run Code Online (Sandbox Code Playgroud)
现在处于这个后期阶段,我想做一个几乎是端到端的测试,即在嵌入式数据库中存在某些数据时,为Web服务命中某些URL会返回预期的HTTP响应.但此时,嵌入式Web服务器中部署的战争没有文件,src/test/resources因此我的初始化脚本不存在,我收到错误
引起:java.io.FileNotFoundException:类路径资源[schema.sql]无法打开,因为它不存在
现在,如果我把脚本放进去,一切都会有效,src/main/resources但这些脚本只是用于填充嵌入式数据库进行测试,而且根本不属于 war文件.有没有人知道如何设置集成测试,以便可以使用一个修剪过的数据库,而不会污染将要部署的实际war文件?
我希望Spring的嵌入式数据库初始化可以使用除文件之外的其他东西.我想到了JNDI,但这似乎要求使用测试数据的资源定义来污染web.xml文件,该资源定义将(再次)出现在可部署的战争中.或者也许有使用货物的选择?我不知道Spring的一些程序化技巧?
我不清楚有关如何在Java桌面应用程序中嵌入mysql的步骤/配置细节,以便它(应用程序)可以通过单个可执行文件安装在任何机器上,这样做可以设置数据库并提供运行的exe应用程序.现在我已经使用netbeans构建了我的应用程序,我已经使用mysql来设置database.plz进一步指导我.
我们正在创建一个开源的Twitter客户端,并且正在寻找一种可以与Delphi 一起使用的最小占用空间的嵌入式数据库,这非常适合全文搜索(我知道这不会很小).理想情况下它应该是免费的或开源的(要求我知道).
我倾向于SQLite,但我之前没有使用它,也不知道它是否支持全文搜索,或者它与Delphi的工作情况如何.我之前使用过DBISAM,它嵌入了全文搜索,但不是免费的. Firebird是我们考虑的另一种选择.
可能有一个组合使这项工作.您将使用什么,以及如何评价1)足迹,2)全文搜索,3)免费/开源.
更新:感谢大家的建议.有很多好的选择可供选择.
我在servlet上下文启动时通过以下代码在H2数据库中创建一个内存数据库
void initDb() {
try {
webserver = Server.createWebServer().start();
Class.forName("org.h2.Driver");
Connection conn = DriverManager.getConnection("jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1","SA","");
InputStream in = getClass().getResourceAsStream("script.sql");
if (in == null) {
System.out.println("Please add the file script.sql to the classpath, package " + getClass().getPackage().getName());
} else {
RunScript.execute(conn, new InputStreamReader(in));
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery("SELECT TO_CHAR(bday,'DD/MM/yyyy hh24:mi') FROM TEST2");
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stat.close();
conn.commit();
conn.close();
}
//accessed using url jdbc:h2:tcp://localhost/mem:db1
try{
CachedRowSet crs = new DBConnector().executeQuery("select * from test2");
while(crs.next()){
System.out.println("ARGUMENT_NAME:"+crs.getString(1));
// System.out.println(",DATA_TYPE:"+crs.getString("DATA_TYPE")); …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 LMDB 创建数据库和环境。我在 Env 上遇到问题。创造()。我为此使用了 LMDB 文档。
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.lmdbjava.ByteBufferProxy.<clinit>(ByteBufferProxy.java:71)
at org.lmdbjava.Env.create(Env.java:92)
at Database.<init>(Database.java:23)
at Index.main(Index.java:7)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field long java.nio.Buffer.address accessible: module java.base does not "opens java.nio" to unnamed module @4edde6e5
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:177)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:171)
at org.lmdbjava.ByteBufferProxy$AbstractByteBufferProxy.findField(ByteBufferProxy.java:163)
at org.lmdbjava.ByteBufferProxy$ReflectiveProxy.<clinit>(ByteBufferProxy.java:222)
... 4 more
Run Code Online (Sandbox Code Playgroud)
主要的:
public class Index {
public static void main(String[] args) {
Database db = new Database("./data", "DB.TEST");
}
}
public class Database {
private String …Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,它需要存储与音乐文件(艺术家,标题,播放计数等)相关的元数据,以及整数集(特别是SHA-1哈希).
我选择的解决方案需要:
fork另一个过程的情况下运行,或者至少提供一个简单的界面(如libmysqld).我考虑的解决方案包括:
我认为完美的假设解决方案就像Redis,但它将数据保存到磁盘,并且只将一部分数据存储在内存中以便快速检索.Redis本身可能不是一个好选择因为1)我需要fork手动操作,2)它的Windows端口看起来不那么坚固,3)将所有数据存储在RAM中将不太理想.
对于这类问题是否有其他解决方案,或者我已经列出的解决方案之一远远优于其他解决方案?