h2数据库中的脚本文件
Posted
技术标签:
【中文标题】h2数据库中的脚本文件【英文标题】:Script file in h2 database 【发布时间】:2012-08-09 02:50:15 【问题描述】:我正在尝试通过在 applicationcontext.xml 中设置以下内容来将 h2 数据库嵌入到我的 spring 应用程序中
<jdbc:embedded-database id="embeddedDataSource" type="H2">
<jdbc:script location="classpath:data.sql"/>
</jdbc:embedded-database>
当我执行它时,它在data.sql文件中显示语法错误。但是这个文件是来自工作mysql数据库的备份文件。h2是否支持mysql备份脚本文件。谁能给我一个h2的例子脚本文件。
它显示的错误是
Syntax error in sql statement "create database[*] ""test"" ";expected "OR,FORCE,VIEW,ALIAS,SEQUENCE,USER,TRIGGER,ROLE,SCHEMA,CONSTANT"; sql statement:
我的data.sql 包含
create database 'test';
【问题讨论】:
【参考方案1】:H2 并非 100% 兼容 MySQL,就像其他数据库(如 Oracle、MS SQL Server、PostgreSQL 等)也不是 100% 兼容 MySQL。只有 MySQL 与 MySQL 100% 兼容。如果要运行为 MySQL 编写的 SQL 语句,则需要确保它们不包含任何 H2 不支持的语法。
显示语法错误
可以发一下吗?
谁能给我一个h2脚本文件的例子。
支持的语法是documented on the H2 web site。
【讨论】:
在 h2 中创建名为 test 的新数据库的语法是什么。是否与创建数据库 'test' 相同; 如果你阅读H2文档,你会发现没有create database
语句,如果数据库不存在会自动创建。以上是关于h2数据库中的脚本文件的主要内容,如果未能解决你的问题,请参考以下文章