SSH 连接DB2的问题

Dereky 2010-04-25 02:41:49
项目使用的框架环境是:
hibernate 3.3.2
struts 2.1.8.1
spring 2.5.6
DB2版本为 8.2

在spring的配置文件中;
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!--<property name="autoCommit" value="true" />-->
</bean>

<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan">
<list>
<value>com.tt.model</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.DB2Dialect/prop>
<prop key="hibernate.current_session_context_class">thread</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<!--<prop key="hibernate.hbm2ddl.auto">create</prop>-->
</props>
</property>
</bean>

Properties 文件:
jdbc.driverClassName=COM.ibm.db2.jdbc.app.DB2Driver
jdbc.url=jdbc:db2:testdb
jdbc.username=db2admin
jdbc.password=123456

在 DB2的命令行环境中连接数据库是正常的,但是TOMCAT就是启动不起来,报错信息:
07:04:17,609 ERROR ContextLoader:215 - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [D:\servicer\tomcat-6.0.20\webapps\familyPlanning\WEB-INF\classes\applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.AbstractMethodError: COM.ibm.db2.jdbc.app.DB2DatabaseMetaData.supportsGetGeneratedKeys()Z
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)....................
..............

请教是什么原因啊??
...全文
427 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dereky 2010-04-25
  • 打赏
  • 举报
回复
恩 在 junit里面通过了连接,问题就是出在建立 sessionFactory 这里,不知道是这样的配置方法不对 还是Spring的这个包有问题
直接转到其他的数据库,mysql mssql 我都试过,都是通过的,就是DB2不行!
notlogin 2010-04-25
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 dereky 的回复:]

我是用的 COM.ibm.db2.jdbc.app.DB2Driver 连接2啊 不能这样写url的
不过用连接4 我也试过 也是不行
报错信息是:
23:23:53,625 WARN JDBCExceptionReporter:100 - SQL Error: 0, SQLState: null
23:23:53,640 ERROR JDBCExceptionReporter:……
[/Quote]
没用过DB2,不知道DB2的JDBC怎么写,要不你可以下个mysql试试.

要么你就写一个类,试试你写的JDBC对不对

Dereky 2010-04-25
  • 打赏
  • 举报
回复
我是用的 COM.ibm.db2.jdbc.app.DB2Driver 连接2啊 不能这样写url的
不过用连接4 我也试过 也是不行
报错信息是:
23:23:53,625 WARN JDBCExceptionReporter:100 - SQL Error: 0, SQLState: null
23:23:53,640 ERROR JDBCExceptionReporter:101 - Cannot create PoolableConnectionFactory (Expired JDBC driver. IBM DB2 JDBC Universal Driver Architecture 2.3.18 Test Build expired on Thu Dec 30 00:00:00 CST 2004)
23:23:53,640 WARN SettingsFactory:133 - Could not obtain connection to query metadata
notlogin 2010-04-25
  • 打赏
  • 举报
回复
jdbc.url=jdbc:db2://localhost:端口号/testdb
Dereky 2010-04-25
  • 打赏
  • 举报
回复
问题好像不是出在连接的部分 我删除 sessionFactory 部分的配置文件 就可以顺利启动了
晕啊 难道是 Spring的问题?
Dereky 2010-04-25
  • 打赏
  • 举报
回复
呵呵 我都快被这个DB2搞疯了,折腾两天了已经 百度 Google快翻烂了:(
injuer 2010-04-25
  • 打赏
  • 举报
回复
你去搜下看看嘛,别人说的也不一定是真滴嘛...
Dereky 2010-04-25
  • 打赏
  • 举报
回复
这个驱动网上好像没有的吧 不是说要正版才有吗
injuer 2010-04-25
  • 打赏
  • 举报
回复
恩!是啊,不然已经没办法了........
Dereky 2010-04-25
  • 打赏
  • 举报
回复
小望,你是说去IBM下载一个高版本的JDBC for DB2 的驱动吗?
injuer 2010-04-25
  • 打赏
  • 举报
回复
回楼主,我的意思是如果删除了asm-2.2.3.jar或是在项目中没有这个包。

那应该是JDBC驱动包有问题,你到网站上重新下个版本高的JDBC驱动包看看...
Dereky 2010-04-25
  • 打赏
  • 举报
回复
回楼上的 我没有引入这个JAR包啊
injuer 2010-04-25
  • 打赏
  • 举报
回复
如果还不行,请换个驱动包,有些驱动包C/S下没问题,但和HIBERNATE一起集成的时候会出现问题..
injuer 2010-04-25
  • 打赏
  • 举报
回复
删除asm-2.2.3.jar........
Dereky 2010-04-25
  • 打赏
  • 举报
回复
还是不行啊 人要崩溃了都~~
神之泪花 2010-04-25
  • 打赏
  • 举报
回复
Mark,友情帮顶了
injuer 2010-04-25
  • 打赏
  • 举报
回复
jdbc:db2://localhost/50000:testdb

tomcat上应该属于远程连接......
jiazimo 2010-04-25
  • 打赏
  • 举报
回复
db2jcc.jar
db2jcc_license_cu.jar
用这两个jar 包
Dereky 2010-04-25
  • 打赏
  • 举报
回复
我是直接拷贝了 D:\IBM\SQLLIB\java目录下的db2java.zip。改名为 db2java.jar 以后加入项目的classhpath目录的
justchenjie 2010-04-25
  • 打赏
  • 举报
回复
是不是驱动包的版本问题啊

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧