Tag: h2

SQL“SCRIPT”命令用于备份h2数据库

我有一个h2数据库的应用程序。 我想在Java中使用SCRIPT命令创建.sql文件。 如果我使用Prepared Statement执行它: PreparedStatement stmt = con.prepareStatement(“SCRIPT”); ResultSet rs = stmt.executeQuery(); 那么我怎样才能在单个String中获得整个结果。 我是Java的新手,因此无法找到获取该查询结果的方法,因为它不包含列名。 然后我将使用InputStream将其写入文件中。

使用ORMLite准备查询的SQLexception

我正在使用ORM(ORMlite),我的所有调用都进行得很顺利,直到我收到以下错误。 线程“main”中的exceptionorg.h2.jdbc.JdbcSQLException:SQL语句中的语法错误“SELECT * FROM”“STORIES”“WHERE”“TITLE”“=’Deepcut case leads’not following [*]””; SQL语句:SELECT * FROM Stories WHERE title =’Deepcut case leads’未在org.h2.message.DbException的org.h2.message.DbException.getJdbcSQLException(DbException.java:327)处跟随”[42000-152]。在org.h2.message.DbException.get(xbException.java:144)的org.h2.message.DbException.getSyntaxError(DbException.java:179)org.h2.command.Parser上获取(DbException.java:167)位于org.h2.engine的org.h2.engine.Session.prepareLocal(Session.java:426)的org.h2.command.Parser.prepareCommand(Parser.java:229)中的.getSyntaxError(Parser.java:480)。 Session.prepareCommand(Session.java:374)位于org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1093)org.h2.jdbc.JdbcPreparedStatement。(JdbcPreparedStatement.java:71)org.h2.jdbc。 JdbcConnection.prepareStatement(JdbcConnection.java:601)位于com.j256.ormlite.jdbc.JdbcDatabaseConnection.compileStatement(JdbcDatabaseConnection.java:83)的com.j256.ormlite.stmt.mapped.MappedPreparedStmt.compile(MappedPreparedStmt.java:44)在com.j256.ormlite.stmt.S tatementExecutor.buildIterator(StatementExecutor.java:169)at com.j256.ormlite.stmt.StatementExecutor.query(StatementExecutor.java:119)at com.j256.ormlite.dao.BaseDaoImpl.query(BaseDaoImpl.java:189) 我很困惑,哪些是错的。 我从这些行调用搜索: // get our query builder from the DAO QueryBuilder queryBuilder = StoryDao.queryBuilder(); // the ‘title’ field must be equal to title (a variable) queryBuilder.where().eq(Story.TITLE_FIELD_NAME, title); // prepare our sql statement PreparedQuery […]

如何将H2数据库嵌入到传递给客户端的jar文件中?

我在嵌入模式下使用H2数据库作为桌面应用程序。 当我将应用程序压缩到jar文件时,省略了数据库文件。 所以,当我运行MyApplication.jar时,没有任何作用。 使用MyApplication.jar嵌入/包含/连接h2.jar文件的正确方法是什么? 或者可能还有另一种方法可以在捆绑中提供数据库和应用程序?

如何在纯SQL中编写一个null安全比较“”?

在Mysql中有一个比较运算符,它是一个空保险箱:。 我在创建这样的预处理语句时在我的Java程序中使用它: String routerAddress = getSomeValue(); String sql = “SELECT * FROM ROUTERS WHERE ROUTER_ADDRESS ? “; PreparedStatement stmt = connection.prepareStatement(sql); stmt.setString(1, routerAddress); 现在我想切换到H2数据库。 如何在纯SQL中编写运算符(例如使用IS NULL和IS NOT NULL)? 我想只使用stmt.setString操作一次 。 可以多次编写列名称。 相关问题是SQL中的Get null == null 。 但是这个答案要求搜索值写入2次(即我的PreparedStatement中有2个问号)!? 参考: http : //dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_equal-to

如何在Spring Boot应用程序启动时启动H2 TCP服务器?

通过在SpringBootServletInitializer主方法中添加以下行,当我将应用程序作为Spring Boot应用程序运行时,我能够启动H2 TCP服务器(文件中的数据库): @SpringBootApplication public class NatiaApplication extends SpringBootServletInitializer { public static void main(String[] args) { Server.createTcpServer().start(); SpringApplication.run(NatiaApplication.class, args); } } 但是如果我在Tomcat上运行WAR文件,它就不起作用,因为没有调用main方法。 在bean初始化之前,如何在应用程序启动时启动H2 TCP服务器有更好的通用方法吗? 我使用Flyway(autoconfig)并且它在“Connection refused:connect”上失败可能是因为服务器没有运行。 谢谢。

org.h2.Driver的java ClassNotFoundException

我正在尝试使用H2连接到Java中的数据库(使用Eclipse作为IDE)。 示例(下面)抛出ClassNotFoundException 。 问题是,我确实将h2 jar文件添加到系统CLASSPATH中。 我甚至在控制台中通过printenv多次检查过它。 我省略了一步吗? 码: import java.sql.*; public class Program { /** * @param args */ public static void main(String[] args) throws Exception{ try{ System.out.println(“hello, world!”); Class.forName(“org.h2.Driver”); Connection conn = DriverManager.getConnection(“jdbc:h2:~/testdb”, “sa”, “”); // add application code here conn.close(); }catch(ClassNotFoundException ex){ System.out.println( “ERROR: Class not found: ” + ex.getMessage() ); } System.exit(0); […]

H2数据库在内存中 – 通过Spring / Hibernate的Init模式

我有一个带有H2数据库的Spring / Hibernate应用程序,我在配置H2以嵌入模式(在内存中)运行时遇到了一些问题: 1.我希望spring启动H2数据库,所以我创建了以下Spring bean: 我是否需要使用tcp服务器进行内存使用? 这是内存中的正确配置吗? 2.使用上面的配置 – 如何在Hibernate启动之前创建和初始化数据库模式? 我知道HSQLDB有一个URL属性,它声明了创建脚本的名称。 这里有类似的方法吗? 谢谢您的帮助

Spring JavaConfig:为自定义Servlet添加映射

在基于javaconfig的Spring 4.0项目中,如何将某个URL的映射添加到除Spring DispatcherServlet之外的Servlet。 我的情况我想使用H2数据库中的h2console,这是通过servlet org.h2.server.web.WebServlet 编辑:在即将到来的Spring Boot 1.3中,可以使用配置参数启用h2console: http ://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-sql-h2 -安慰 启用它就像将这两行添加到application.properties一样简单: spring.h2.console.enabled=true spring.h2.console.path=/console

Spring嵌入式数据库是否支持不同的SQL方言?

H2具有一系列兼容模式,适用于支持不同SQL方言的各种其他数据库,如MS SQL Server,MySQL,Oracle等。 但是,在Spring中设置嵌入式数据库时 ,我找不到任何相应的设置。 这是否意味着如果我在生产中使用Oracle而在测试期间使用H2,那么我必须使用没有任何方言特定function的“普通”SQL? 我忽略了什么吗?

我的H2数据库文件在哪里?

我只是在评估H2数据库……我下载并解压缩安装并连接到jdbc:h2:file:/home/konrad/test 。 /home/konrad是我的家庭目录, test不存在(我希望H2能够创建它)。 控制台似乎工作正常。 我创建了一个表并向其插入一行。 即使我断开连接并重新连接控制台,我也能看到并查询该表。 但是,我没有看到我期望的文件。 它在哪里?