媽的 最近被老大叫去弄了下sqlserver 好嘛,很簡單 ,hibernate改一下配置就行了嘛 弄了半天 找驅(qū)動包什么的 用sqlserver客戶端連數(shù)據(jù)庫是沒問題了(吐槽下那個連接字符串,別人端口前面都是加:號 微軟偏要弄個,號) 然后用myeclipse連上去映射實體也沒問題(
媽的 最近被老大叫去弄了下sqlserver
好嘛,,很簡單 ,hibernate改一下配置就行了嘛
弄了半天 找驅(qū)動包什么的
用sqlserver客戶端連數(shù)據(jù)庫是沒問題了(吐槽下那個連接字符串,別人端口前面都是加:號 微軟偏要弄個,號)
然后用myeclipse連上去映射實體也沒問題(這個功能只是減少工作量,但是映射完還得自己手動改一改)
到最后用程序連的時候來問題了:
java.lang.AbstractMethodError: com.microsoft.jdbc.base.BaseDatabaseMetaData.getJDBCMajorVersion()I
網(wǎng)上搜了還有種情況:
java.lang.AbstractMethodError:com.microsoft.jdbc.base.BaseDatabaseMetaData.supportsGetGeneratedKeys()Z
據(jù)說是microsoft(微軟)提供的SqlServer數(shù)據(jù)庫驅(qū)動存在bug。(注意:java代碼調(diào)原驅(qū)動連接數(shù)據(jù)庫是沒有問題的,搭配hibernate會有此問題。----別人這么說的 我沒試過非hibernate方式,待驗證) 需要換一種驅(qū)動連接,使用jtds這種驅(qū)動,就可以了。
配置改一下就ok:
net.sourceforge.jtds.jdbc.Driver
jdbc:jtds:sqlserver://數(shù)據(jù)庫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
出現(xiàn)這種錯誤就把jtds版本用低一點的就好了
至于網(wǎng)上說把jdk弄高版本,一般開發(fā)中不會輕易變更jdk版本的
Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號-2
違法及侵權(quán)請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)