连接timesten内存数据库异常no ttJdbcCS70 in java.library.path解决方案 .
timesten为oracle收购的内存数据库,与一般数据库的区别是timesten将数据存放在内存中,而其他数据库则将内存存放在磁盘中,timesten在访问速度上比oracle快十多倍甚至更高。timesten能够和oracle后台数据库做无缝集成,数据可以在timesten和oracle直接双向流动,可以做到实时的,所以不用担心系统突然挂掉,数据丢失。
现在问题来了,已经正确安装好了timesten,环境变量也正确,项目正确部署到tomcat,使用tomcat本身启动,则能正常访问,但是使用myeclipse里面的启动tomcat(不是自带的,经过配置的,你懂的),则抛出以下异常:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Problems with loading native library/missing methods: no ttJdbcCS70 in java.library.path)
意思很明白了,在java.library.path下找不到ttjdbccs70.dll这个文件。但是我使用System.getProperties().get("java.library.path")打印,发现ttjdbccs70.dll所在文件夹路径存在的,那为什么提示找不到呢?我又试着把ttjdbccs70.dll放在C:/windows/system32/下,还是没用........
经过多次google、baidu,终于找到一个可以执行的方法:就是在myeclipse的tomcat配置下的jdk的Optional Java VM arguments下加上:-Djava.library.path=Timesten安装目录/bin即可。
PS:-D 为java的命令,在cmd中输入java 则发现有个 -D<name>=<value>这个参数,意思是给name赋值为value。