日期:2014-05-16  浏览次数:20439 次

HSQLDB MEM内存数据库使用总结
1. MEM内存数据库只能在当前的应用进程中存在,如果当前的应用程序进程关闭了的话,那这个内存数据库也随之消亡了。

2. MEM内存数据库如何导出?由于MEM并不向Standalone的文件数据库一样存在.script文件,因此,不能简单的根据.script内容生成又一个数据库。因此,如果需要将内存数据库中的内容给传输出来,必须要在内存数据库关闭之前,查询出所有的数据对象,转换成相应的CachedRowSet,将这个传输到服务器端,然后在服务器端执行数据库创建的Schema,执行相应的SQL语句,将CachedRowSet给重新恢复到数据库上去。不知道这个性能如何?

1 楼 hiwzg 2007-01-27  
重新回复数据库得这个事情是在太ft了。如果不能直接将CachedRowSet更新底层得数据源,那代码就是在太多了。tmd,碰到这个鬼问题了。


hiwzg 写道
1. MEM内存数据库只能在当前的应用进程中存在,如果当前的应用程序进程关闭了的话,那这个内存数据库也随之消亡了。

2. MEM内存数据库如何导出?由于MEM并不向Standalone的文件数据库一样存在.script文件,因此,不能简单的根据.script内容生成又一个数据库。因此,如果需要将内存数据库中的内容给传输出来,必须要在内存数据库关闭之前,查询出所有的数据对象,转换成相应的CachedRowSet,将这个传输到服务器端,然后在服务器端执行数据库创建的Schema,执行相应的SQL语句,将CachedRowSet给重新恢复到数据库上去。不知道这个性能如何?

2 楼 hiwzg 2007-01-31  
关于内存数据库传输的问题,确实不太好弄。利用CachedRowSet重新恢复数据库也不是那么容易的事情,得重新写SyncProvider,实现Writer类,没有可以供参考的类,实在不爽。“内存数据库用于交互数据,而不用于传输。”老大一句话,解惑了。
3 楼 letle 2007-02-02  
想知道类似于mysql中LONGBLOB数据类型在hsql里还有没有办法表示
4 楼 hiwzg 2007-02-05  
显然有,请查看HSQLDB的参考手册。