代码之家  ›  专栏  ›  技术社区  ›  Juri Glass

如何在仅内存模式下运行hsqldb服务器

  •  9
  • Juri Glass  · 技术社区  · 15 年前

    在hsqldb的文档中有一条命令行语句,用于启动hsqldb服务器( HSQLDB Doc )但是这里有一个“file:mydb”属性,所以我假设它不在仅内存模式下。

    如何运行仅内存的hsqldb服务器?

    我查了以下内容,但一无所获。

    java -cp ../lib/hsqldb.jar org.hsqldb.Server -?
    
    3 回复  |  直到 8 年前
        1
  •  6
  •   Chii    15 年前

    使用 java -cp .\hsqldb-1.8.0.10.jar org.hsqldb.Server -database.0 mem:aname

    内存模式是由连接URL指定的-因此,如果需要,您可以在同一目录中拥有server.properties文件,并将连接URL设置为使用 mem 协议-或者如果您在另一个允许您指定连接URL(如JDBC)的应用程序中使用hsqldb,请指定 jdbc:hsqldb:mem:aname .

        2
  •  9
  •   Shajee Lawrence    9 年前

    我花了大约2天的时间来研究如何在内存中启动服务器,然后从外部访问。希望这能节省别人的时间。

    Server server = new Server();
    server.setDatabaseName(0, "mainDb");
    server.setDatabasePath(0, "mem:mainDb");
    server.setDatabaseName(1, "standbyDb");
    server.setDatabasePath(1, "mem:standbyDb");
    server.setPort(9001); // this is the default port
    server.start();
    

    当您必须访问任何CRUD的内存数据库时,您需要执行以下操作:

    String url="jdbc:hsqldb:hsql://192.168.5.1:9001/mainDb";
    Class.forName("org.hsqldb.jdbc.JDBCDriver");
    Connection conn = DriverManager.getConnection(url, "SA", "");
    

    其中192.168.5.1是运行hsql的服务器IP。要连接到备用数据库,请用第一行中的备用数据库替换主数据库。一旦得到连接,就可以执行所有与数据库相关的操作。

    要使用databasemanagerswing从远程连接到服务器,这里是您需要做的。

    下载hsqldb-x.x.x jar并将其复制到文件夹(x.x.x是版本) 打开终端或命令提示符,将CD放到文件夹中并运行

    java -cp hsqldb-x.x.x.jar org.hsqldb.util.DatabaseManagerSwing
    

    从类型下拉列表中选择“hsql数据库引擎服务器”,并将“jdbc:hsqldb:hsql://192.168.5.1:9001/maindb”作为URL。这将连接到远程hsql内存服务器实例。

    快乐编码!!
    DbManagerSwing UI

        3
  •  0
  •   Todd R    15 年前

    我相信该文件用于将数据库加载到内存中,然后在服务器停止时保持不变。我认为在您运行时无法访问该文件。

    我用了hsqldb(或h2)已经有一段时间了,但我很确定这就是它的工作原理。