hibernate连接sqlserver的问题

在使用hibernate连接sqlserver时遇到`java.lang.AbstractMethodError`,问题出在microsoft的数据库驱动。通过更换为jtds驱动,并调整hibernate配置,成功解决了连接问题。需要注意的是,不同jdk版本可能需要对应不同版本的jtds,过高或过低都会导致错误。

妈的 最近被老大叫去弄了下sqlserver

好嘛,很简单 ,hibernate改一下配置就行了嘛

弄了半天 找驱动包什么的

用sqlserver客户端连数据库是没问题了(吐槽下那个连接字符串,别人端口前面都是加:号 微软偏要弄个,号)

然后用myeclipse连上去映射实体也没问题(这个功能只是减少工作量,但是映射完还得自己手动改一改)

到最后用程序连的时候来问题了:

java.lang.AbstractMethodError: com.microsoft.jdbc.base.BaseDatabaseMetaData.getJDBCMajorVersion()I

网上搜了还有种情况:

java.lang.AbstractMethodError:com.microsoft.jdbc.base.BaseDatabaseMetaData.supportsGetGeneratedKeys()Z


据说是microsoft(微软)提供的SqlServer数据库驱动存在bug。(注意:java代码调原驱动连接数据库是没有问题的,搭配hibernate会有此问题。----别人这么说的 我没试过非hibernate方式,待验证) 需要换一种驱动连接,使用jtds这种驱动,就可以了。


配置改一下就ok:

<property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
<property name="connection.url">jdbc:jtds:sqlserver://数据库IP:端口;DatabaseName=xxx</property>

jtds下载地址:http://sourceforge.net/projects/jtds/files/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值