这里面有一些具体的问题,比如说是否只同步新增的数据,要同步的表是否只有少数几个,要同步的表中是否有类似于自增字段这种东西等等。
最简单的情况下,只同步新增数据,只同步少数几个表,并且表中都有自增ID,那你只需要php定时执行,参照网页链接
然后每次定时执行时,读mysql表中的最后一个id(这个id要跟你的h2的自增id一样),然后根据这个到h2表中去读出大于这个id的一个固定记录数的记录,比如一次读5000或1万条,然后批量插入mysql就行了
写HelloWorld的方便工具。依靠初始化脚本,数据随时重置。交流起来,也方便。
maven
<dependency>
<groupId>comh2database</groupId>
<artifactId>h2</artifactId>
<version>14194</version>
</dependency>
webxml中配置
<context-param>
<param-name>dburl</param-name>
<param-value>jdbc:h2:mem:test</param-value>
</context-param>
<context-param>
<param-name>dbuser</param-name>
<param-value>sa</param-value>
</context-param>
<context-param>
<param-name>dbpassword</param-name>
<param-value>sa</param-value>
</context-param>
<context-param>
<param-name>dbtcpServer</param-name>
<param-value>-tcpAllowOthers</param-value>
</context-param>
<listener>
<listener-class>orgh2serverwebDbStarter</listener-class>
</listener>
<servlet>
<servlet-name>H2Console</servlet-name>
<servlet-class>orgh2serverwebWebServlet</servlet-class>
<init-param><param-name>webAllowOthers</param-name><param-value></param-value></init-param>
<init-param><param-name>trace</param-name><param-value></param-value></init-param>
</servlet>
<servlet-mapping>
<servlet-name>H2Console</servlet-name>
<url-pattern>/h2/</url-pattern>
</servlet-mapping>
hibernateconnectionurl = jdbc:oracle:thin:@[localhost]:[port]:[databaseName]
[localhost]换成数据库ip地址
[port]换成连接数据库的端口号
[databaseName]换成数据库名称
打开idea软件
点击右下角的database按钮
接下来单击+按钮
点击Data Source按钮
在依次点击H2按钮
下载驱动,填写连接信息,点击测试连接,测试成功之后,,之后点击OK按钮
h2数据库,数据插入成功,但是报错,怎么避免
H2数据库有好几种运行方式,你说的这种应该就是“嵌入式"运行方式,它限制只能有一个客户端进行 *** 作,优点是性能好。
除了嵌入式 ,还有 服务器 运行方式(就是像oracle/ sqlserver一样的),但除此以外,还提供了混合模式,这种模式比较常用,和嵌入式的唯一区别就是写jdbc url时,这样写:
jdbc:h2:<数据库文件路径名>;AUTO_SERVER=TRUE
以上就是关于如何将H2数据库数据转存到MYSQL数据库中全部的内容,包括:如何将H2数据库数据转存到MYSQL数据库中、H2创建内存数据库服务器,并启动Web控制台、H2连接oracle数据库问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)