教 程 目 录
H2数据库教程
H2是一个开源的轻量级Java数据库.它可以嵌入Java应用程序中,也可以在客户端 - 服务器模式下运行. H2数据库可以配置为作为内存数据库运行,这意味着数据不会在磁盘上持久存在.在这个简短的教程中,我们将仔细研究H2及其命令的各种功能,这是最好的开源,多模型,下一代SQL产品之一.
受众
本教程专为希望学习如何在简单易用的步骤中使用H2数据库的所有软件专业人士而设计.本教程将为您提供有关H2数据库基本概念的全面理解.
先决条件
H2数据库主要处理关系数据.因此,在继续本教程之前,您首先应该对数据库的概念有一个很好的理解,尤其是RDBMS概念.
本文地址:https://www.itbaoku.cn/tutorial/h2_database-index.html
相关问答
H2控制台( http://localhost:8082/login.jsp )根据任何数据库的详细信息,如果我们与MySQL或其他数据库服务器进行了TP通话,则应在哪里复制JDBC驱动程序.在BIN目录中复制JDBC驱动程序文件(mysql-connector-java-5.0.8-bin.jar)似乎没有帮助 注意:我的H2服务器作为服务运行 解决方案 要使用其他数据库(例如MySQL),在安装服务之前,需要将这些数据库的JDBC驱动程序的位置添加到环境变量H2Driables或ClassPath.可以设置多个驱动程序;每个条目都需要用A分开; (Windows)或:(其他操作系统).支持路径名中的空格.不得引用设置. 其他解决方案 我启动服务器时刚刚将驱动程序(s)放在classpath上: classpath=.:/opt/h2/bin/h2.jar:/opt/derby/lib/derby.jar:... server=org.h2.tools.Server java -cp ${classpath} ${server} -tcp -web ... & 另外,这是您可能在java.ext.dirs之一中添加JAR的罕见时间之一.您可以看到平台上可用的内容: System.out.println(System.getProperty("
)
我有以下问题: 两个不同系统上的应用程序的两个实例应共享一个小数据库. 主要问题是,这两个系统都只能通过网络文件夹来交换数据. 我没有可能在某个地方设置数据库服务器. 是否可以将H2数据库放置在网络文件中,并让两个实例连接到数据库(也同时)? 我可以使用嵌入式模式将两种实例连接到DB,如果我禁用文件锁定,对吗? 这些实例可以在DB上读取或插入操作.我是否使用多个并发嵌入式连接风险数据损坏? 解决方案 来自H2 Documentation : 也可以在不锁定文件锁定的情况下打开数据库;在这一点 案例取决于保护数据库文件的应用程序. 不这样做会导致损坏的数据库. 我认为,如果您的应用程序使用始终使用相同的配置(网络文件夹上的共享文件数据库),则需要创建一个应用程序层来管理并发 其他解决方案 如文档所说; ( http://h2database.com/html/features.html#auto_mixed_mode ) 多个进程可以访问相同的数据库,而无需手动启动服务器.为此,请附加; auto_server = true数据库URL.您可以独立于数据库是否已经打开,可以使用相同的数据库URL.此功能与内存数据库无效. // Application 1: DriverManager.getConnection("jdbc:h2:/
)
如何明确设置时区H2应该使用?现在,它可以从基础操作系统中使用时区.我假设存在一个额外的参数,我将添加到连接字符串Ala下方我拥有的一个. db.url=jdbc:h2:mem:mybipper;MVCC=true; 解决方案 显然您在连接上没有参数,但是数据库将使用加载驱动程序的JVM的时区,因此您可以设置-Duser.timezone=UTC. 请注意,加载驱动程序后您无法更改时区. 其他解决方案 帮助我的是为JDBC而不是JVM设置时区配置,这似乎也更加合理,更清洁,因为它仅影响数据库而不是整个JVM: spring.jpa.properties.hibernate.jdbc.time_zone=UTC 我的答案对另一个问题可能会帮助其他信息. 其他解决方案 您可以在与数据库进行交互之前操纵JVM时区: TimeZone.setDefault(TimeZone.getTimeZone("UTC")) 不幸的是,H2不支持每个连接的时区...
)
我想在Ubuntu 12.10上使用H2数据库,然后访问该网站并获得了平台独立的安装文件. 安装说明实际上是"安装软件,运行安装程序或将其解压缩到您选择的目录." 我不是Linux新手,所以我以前使用过许多通常的安装程序,但是我不知道我应该在这里做什么.我无法找到任何配置或makefiles,并且文档没有提及任何内容,在那里我找不到任何使用Google的东西. 我不知道我是否缺少明显的东西.有人可以帮忙吗? 解决方案 此BASH脚本启动服务器: #!/bin/bash java -cp h2*.jar org.h2.tools.Server 您还需要当前目录中的h2-version.jar 其他解决方案 包括启动H2服务器的Shell脚本,并包括浏览器GUI.我现在没有Ubuntu,但是这些步骤应该是: 下载H2 ZIP文件(例如h2-2013-07-28.zip). 打开终端窗口 然后运行: cd unzip h2*.zip cd h2/bin chmod +x h2.sh ./h2.sh 这应该启动H2服务器工具并打开一个浏览器窗口,该窗口使您可以连接到数据库. h2.sh脚本的内容相对简单,是: #!/bin/sh dir=$(dirname "$0")
)
我正在尝试在H2SQL上创建视图,但是我找不到正确的语法. 我正在使用: CREATE VIEW dbo.Log AS SELECT * FROM dbo.MyTable 我收到错误: Caused by: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "CREATE VIEW DBO.LOG "; expected "COMMENT, (, AS"; 什么是正确的语法? 解决方案 这是此版本H2(1.4.182)的错误. 从Runscript命令运行创建视图时,它不能很好地处理文件上的线路破坏(\ n).我解决了每个线路休息之前添加评论( - ).
)
我已将H2数据库用于基于桌面的应用程序(使用Swing).我还备份了它,并将其存储在我的文件系统中,并使用" .h2.db"扩展名.这不是可读的文件.那么如何还原我的H2备份文件? 解决方案 建议使用特定工具创建ZIP文件.也应该在复制文件上使用该工具: 备份数据库的推荐方法是创建一个压缩SQL 脚本文件.这将导致一个小的,人类的可读和数据库 版本独立备份.创建脚本还将验证 数据库文件的校验和.脚本工具的运行如下: java org.h2.tools.script -url jdbc:h2:〜/test -user sa -script test.zip -options压缩zip 然后可以使用zip文件恢复DB: 要从SQL脚本文件还原数据库,您可以使用 Runscript工具: java org.h2.tools.runscript -url jdbc:h2:〜/test -ser sa -script test.zip-选择压缩zip http:///h2database.com/h2database.com/html/html/tutoriorce.htutororior.htmludeorior erardororial _upgrade_upgrade_prade_backeore_backpardore
)