Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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 如何确保在Windows上加载HSQLDB属性配置?_Java_Windows_Window_Hsqldb - Fatal编程技术网

Java 如何确保在Windows上加载HSQLDB属性配置?

Java 如何确保在Windows上加载HSQLDB属性配置?,java,windows,window,hsqldb,Java,Windows,Window,Hsqldb,我对Windows上的HSQLDB2.3有问题。我无法使用HSQLDB服务器连接新数据库 服务器是否有日志或调试选项,以便我可以检查加载的属性和文件路径等 我的属性文件可以吗?我不确定如何为windows制定文件路径。 我可以在文件路径名上使用引号吗 我用于tmpdb的连接字符串是否正确 使用--props服务器参数的正确语法是什么? --道具路径 --道具路径/文件名 我设置了两个环境变量(太简单了*)。这些变量除了保存我的输入之外没有任何效果。最初,我直接从HSQLDB文件夹加载服务

我对Windows上的HSQLDB2.3有问题。我无法使用HSQLDB服务器连接新数据库

  • 服务器是否有日志或调试选项,以便我可以检查加载的属性和文件路径等
  • 我的属性文件可以吗?我不确定如何为windows制定文件路径。
    • 我可以在文件路径名上使用引号吗
  • 我用于tmpdb的连接字符串是否正确
  • 使用--props服务器参数的正确语法是什么?
    • --道具路径
    • --道具路径/文件名
  • 我设置了两个环境变量(太简单了*)。这些变量除了保存我的输入之外没有任何效果。最初,我直接从HSQLDB文件夹加载服务器

    • HSQLDB_主页。。。当前HSQLDB的主文件夹
    • HSQLDB_数据。。。用于数据存储库的文件夹
    我遵循以下步骤:

    每次我通过服务器连接时,它都会生成一个名为“test”的数据库,而不是让我连接到server.properties中指定的两个数据库中的任何一个

    • %HSQLDB_数据%/
      • test.log
      • 测试属性
      • test.script
      • test.tmp/。。。。。。。。。。(文件夹)
      • test.lck
    我在以下位置创建了一个“server.properties”文件:

    • %HSQLDB_HOME%/lib/
    HSQLDB JAR文件所在的位置。我想要两个数据库:tmpdev

      # -- tmp
      server.database.0=file:hsqldb/tmp_db/tmp
      server.dbname.0=tmp_db
      #
      ####
      #
      # -- dev
      server.database.1=file:r:/.data/hsqldb/dev_db/dev
      server.dbname.1=dev_db
    
    我希望属性文件足以设置两个数据库。当我运行hsqldb管理器时,我没有得到tmp的连接,比如:

    • “jdbc:hsqldb:hsql://localhost/tmp"
    • 用户:SA,密码:“
    我得到一个弹出错误:

    • 数据库别名不存在(管理器)
    • [线程[HSQLDB连接@26827674,5,HSQLDB连接@372f7a8d]:数据库别名=tmp不存在(服务器)
    我使用cmd行手动创建了这两个,例如命名为“tmp”:

    • %JAVA_HOME%\bin\JAVA.exe-classpath%HSQLDB_HOME%\lib\HSQLDB.jar org.HSQLDB.server.server org.HSQLDB.server.server--database.1文件:r://.data/HSQLDB/tmp_db--dbname.1 tmp_db
    可以连接并创建tmp:

    • %HSQLDB_数据%/tmp_数据库/
      • tmp.log
      • tmp.properties
      • tmp.script
      • tmp.tmp/。。。。。。。。。。(文件夹)
      • tmp.lck
    正如《金融时报》预测的那样。当我使用上述“Server.properties”文件启动HSQLDB服务器或明确指定属性时:

    • %JAVA\u HOME%\bin\JAVA.exe-类路径%HSQLDB\u HOME%\lib\HSQLDB.jar org.HSQLDB.server.server--跟踪真--道具%HSQLDB\u数据%
    服务器只允许我连接一个名为“test”的数据库,如问题开头所述

    因为属性文件看起来很好,进程中的文件连接字符串也可以工作

    • jdbc:hsqldb:hsqldb/tmp_db/tmp

    我认为server.properties文件位于错误的位置,或者由于某种原因没有加载。如果服务器能够在开始时转储属性文件,那就太好了:-)提前感谢您的建议…

    我发现了问题。首先,感谢本教程:

    回顾这一点后,我意识到了我的错误

    服务器脚本运行时,server.properties文件必须位于当前文件夹中。我在手册页上读过,但误解了它的含义,我将属性文件放在我的%HSQLDB_HOME%/lib文件夹中。哎呀

    当您查看BAT脚本时,它实际上将当前文件夹更改为%HSQLDB_HOME%/data文件夹

    • cd..\data
    因此,如果要使用默认的runServer.bat脚本,server.properties文件的默认位置应该是:%HSQLDB_HOME%/data

    适用于希望将数据与服务器软件分离的用户。我使用以下两个环境变量对默认脚本进行了改进

    • HSQLDB_主页。。。当前HSQLDB的主文件夹
    • HSQLDB_数据。。。用于数据存储库的文件夹
    runServer.bat:

       @cd /d %HSQLDB_DATA%
       @cd
       @echo.
       @rem __ @pause
       %JAVA_HOME%\bin\java -classpath %HSQLDB_HOME%\lib\hsqldb.jar org.hsqldb.server.Server     %1 %2 %3 %4 %5 %6 %7 %8 %9
       @echo.
       @pause
    
    它现在需要%HSQL_DATA%文件夹中的my server.properties文件。这就行了。同样对于我的服务器,因为它是用于开发/测试的,所以我使用--trace=true选项。就像很多这些东西一样,现在我明白了,这一切都很有道理。希望我的误解能帮助那些在使用stackoverflow之前还没有找到简单教程的人