当前位置: 代码迷 >> SQL >> Help,怎么在J2EE环境上使用Sqlite以及怎么将sqlite打入war包
  详细解决方案

Help,怎么在J2EE环境上使用Sqlite以及怎么将sqlite打入war包

热度:75   发布时间:2016-05-05 12:58:16.0
Help,如何在J2EE环境下使用Sqlite以及如何将sqlite打入war包
需求是这样的

希望j2ee应用(基于应用 而不是整个服务器)启动时, 自动启动数据库
数据库的相关信息希望配置在 web.xml内


sqlite和java(不是j2ee环境)的整合的资料查到了一些
但是几乎都说要把 sqlite的dll 放入 jdk/bin下 .
有没有什么办法 让 sqlite相关的一且 都随着我的war包走
也就是说 部署的机器无需安装sqlite,在我war包里包含就ok.

由于sqlite并不是纯的java数据库,所以很多地方我搞不定, 希望有经验的朋友指点一下 谢谢了


另外sqlite的jdbc驱动官方似乎没有提供 找了两个第三方的 不知道哪个好

http://www.zentus.com/sqlitejdbc

http://www.ch-werner.de/javasqlite/

有用过的吗 能否推荐一款


1 楼 linking12 2008-03-27  
有一个SQLite的包,可以不用将dll装在jdk上,是042吧,但是这个jar包有个缺点,就是如果你的sql写的太长的话,有的时候会抛出异常.
还有它对时间不是很兼容,你必须用string来代替时间类型,否则会出错.
鄙人上个项目就是和楼主的一样,开发的时候用的030吧,但是到了快发布的时候,客户要求不能在jdk上装其他东西,所以改成了042,碰到了我刚才的情况.楼主谨慎使用..
2 楼 QuakeWang 2008-03-27  
因为sqlite不是纯Java应用,嵌入war要考虑不同servlet容器发布模式。
我以前有做过类似的:将某个C语言写的应用嵌入war,是通过Runtime.exec执行本地命令实现的,但是在weblogic和jetty上,war解压以后是在一个临时目录,每次重新发布,这个目录还会改变,而resin/tomcat则是在webapps固定目录下,这样本地应用所要读取配置和生成的文件处理代码需要根据服务器的名称做hardcode。另外根据OS的不同,windows和linux下也要做hardcode。

btw,如果你没有历史数据依赖, 不妨可以考虑使用hsql,它嵌入war是非常简单的。
3 楼 fins 2008-03-27  
非常感谢2位 hsql h2db 这类的我以前用过 也一直在用

我这次改用sqlite 就是因为 php也支持他

这个数据库要为java php .net 考虑 所以不能用hsql h2db 这类纯java数据库
  相关解决方案