Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建共享HSQLDB数据库_Java_Hsqldb - Fatal编程技术网

Java 创建共享HSQLDB数据库

Java 创建共享HSQLDB数据库,java,hsqldb,Java,Hsqldb,进程中的HSQLDB数据库预计不会被其他人打开,即使对于基于文件的存储也是如此 文档提示这是可能的:,但我还没有找到如何激活此行为的URL 是否有人这样做是为了分享方法?我有过在应用程序之外以服务器模式启动HQLDB并从多个应用程序连接到数据库的经验 如中所述,该过程是直接进行的。以下内容适用于我: 从您的代码启动服务器,如hsqldb源代码中的org.hsqldb.test.TestBase代码所示。比如: Server server = new Server(); server.setDat

进程中的HSQLDB数据库预计不会被其他人打开,即使对于基于文件的存储也是如此

文档提示这是可能的:,但我还没有找到如何激活此行为的URL


是否有人这样做是为了分享方法?

我有过在应用程序之外以服务器模式启动HQLDB并从多个应用程序连接到数据库的经验


如中所述,该过程是直接进行的。

以下内容适用于我:

  • 从您的代码启动服务器,如hsqldb源代码中的org.hsqldb.test.TestBase代码所示。比如:

    Server server = new Server();
    server.setDatabaseName(0, "test");
    server.setDatabasePath(0, "file:/path/to/db");
    server.start();
    
  • 在同一JVM中,像在普通(非服务器)程序中一样打开到同一数据库的连接,如:

    conn = DriverManager.getConnection("jdbc:hsqldb:file:/path/to/db");
    
  • 然后使用conn执行您想要的任何SQL

    在我自己的实验中,这似乎是可行的,它适用于内存和文件数据库


    当然,其他JVM需要使用TCP连接到服务器。试图在另一个JVM中直接打开数据库文件将导致数据库被锁定的常见错误。

    您的意思是什么?是否启动了服务器进程中-否(我直接从操作系统运行),是否连接到服务器进程中-是。你想干什么?您正在尝试以服务器模式启动进程内服务器吗?