代码之家  ›  专栏  ›  技术社区  ›  Sam

h2数据库的jdbc连接字符串是什么?

  •  7
  • Sam  · 技术社区  · 7 年前

    我正在尝试连接到本地计算机上的h2数据库以创建sql数据源对象。我正在运行windows,在我的项目应用程序中定义数据文件的路径时遇到一些问题。属性文件。

    假设本地目录数据文件的路径为:

    D:\projects\myproject\data\project
    

    如何为此定义连接url?

    我已经尝试了很多方法,包括:

    project.db.url = jdbc:h2:tcp://localhost\\\\D:\\projects\\myproject\\data\\project
    

    然后我想可能是JDBC URL的问题,所以我尝试:

    project.db.url = jdbc:h2:tcp:\\\\localhost\\\\D:\\projects\\myproject\\data\\project
    
    3 回复  |  直到 7 年前
        1
  •  9
  •   Draken R. Shilling    5 年前

    改变 application.properties 以下内容:

    spring.jpa.open-in-view=true
    
    spring.datasource.url=jdbc:h2:mem:testdb
    
    spring.datasource.driverClassName=org.h2.Driver
    
    spring.datasource.username=sa
    
    spring.datasource.password=
    

    将H2控制台设置为:

    jdbc:h2:mem:testdb
    
        2
  •  6
  •   Ravi    7 年前

    根据 documentation 违约 JDBC 连接字符串为

    jdbc:h2:~/test  
    

    和,用于TCP连接

    jdbc:h2:tcp://localhost/~/test  
    

    ==更新==

    但是,如果您想在特定文件夹中创建/读取h2数据库,那么应该

     jdbc:h2:tcp://localhost/<path_to_database>
    

    也就是说,

    jdbc:h2:tcp://localhost/D:/myproject/data/project-name
    

    感谢@Sam分享信息。

        3
  •  1
  •   Thomas Auinger    3 年前

    如果您使用的是Spring Boot,并且不想更改默认名称,那么可以查找此日志语句并从中复制JDBC连接信息:

    2021-08-31 20:27:13.295  INFO 12032 --- [  restartedMain] o.s.b.a.h2.H2ConsoleAutoConfiguration    : H2 console available at '/h2-console'. Database available at 'jdbc:h2:mem:4c0a3d2c-9aab-4c06-ab22-da777660ab4a'
    

    因此,在本例中,连接字符串为“ jdbc:h2:mem:4c0a3d2c-9aab-4c06-ab22-da777660ab4a "