hibernate连接sqlserver的问题
妈的 最近被老大叫去弄了下sqlserver 好嘛,很简单 ,hibernate改一下配置就行了嘛 弄了半天 找驱动包什么的 用sqlserver客户端连数据库是没问题了(吐槽下那个连接字符串,别人端口前面都是加:号 微软偏要弄个,号) 然后用myeclipse连上去映射实体也没问题(
妈的 最近被老大叫去弄了下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:
net.sourceforge.jtds.jdbc.Driver
jdbc:jtds:sqlserver://数据库IP:端口;DatabaseName=xxx
jtds下载地址:
顺便再说一下,最新版本的jtds可能需要jdk7的支持
如果你用的比较低的版本可能要下老一点的jtds
比如我用的jdk1.6我只能用jtds1.2 用1.3以后的都会报错:
java.lang.UnsupportedClassVersionError: net/sourceforge/jtds/jdbc/Driver : Unsupported major.minor version 51.0
出现这种错误就把jtds版本用低一点的就好了
至于网上说把jdk弄高版本,一般开发中不会轻易变更jdk版本的
推荐阅读
-
hibernate连接sqlserver的问题
-
SQL SERVER 2005 EXPRESS 远程连接的问题 .
-
求助:CentOS下的mssql_connect()连接问题,出现"Unable to connect to server"问题。
-
SqlServer读取数据时发生的诡异问题
-
php连接mysql数据库出现有关问题 找不到指定的程序
-
关于fsockopen函数连接43端口的有关问题
-
编写简单的连接MongoDB数据库C++程序 解决编译C++程序时链接MongoDB动态库失败的问题
-
求教一个 ajax 的长连接有关问题。
-
新手求教数据库连接的有关问题
-
SQLServer2008中“不允许保存更改”问题的解决方法