176142998

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            116 Posts :: 0 Stories :: 45 Comments :: 0 Trackbacks

          如果用Hibernate與數據庫 Microsoft SQLServer 2000組合,在取子表集合的時候會拋出異常:
          org.hibernate.exception.GenericJDBCException: could not initialize a collection:
          和異常:SQL Server 2000 Driver for JDBC ResultSet can not re-read row data for column 1
          這是因為微軟的Microsoft SQLServer驅動有以下問題:
          1、如果采用jdbc-odbc驅動,那么就必須按照查詢順序來一次讀取(不論有沒有image或text類型)

          2、如果采用微軟提供的ms sql server jdbc driver,如果查詢語句中,不存在image或text類型字段,那么可以按照無序獲取

          3、如果采用微軟提供的ms sql server jdbc driver,如果查詢語句中,存在image或text類型字段,那么就必須按照順序讀取,否則就會報告Driver]ResultSet can not re-read row data for column之類的錯誤

          4、如果想不查詢語句中有沒有image或text類型字段,都可以不按照順序獲取,或重復獲取。
          Hibernate在取子表集合時,它的不是按查詢順序來一次讀取的,所以會拋出上述異常.
          解決辦法:
          更換Microsoft SQLServer驅動,我現在用的是jtds-1.2.jar,這個驅動包大家可以到CSDN下載.
          它的連接字符串是:jdbc:jtds:sqlserver://localhost:1433;DatabaseName=數據庫名
          驅動類:net.sourceforge.jtds.jdbc.Driver,
          問題解決了. 

          posted on 2008-07-30 10:01 飛飛 閱讀(1534) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 昂仁县| 太和县| 德保县| 海城市| 饶阳县| 诸城市| 尼木县| 九寨沟县| 柳江县| 衢州市| 杂多县| 新邵县| 桐庐县| 龙里县| 凤台县| 琼海市| 柞水县| 武安市| 兰溪市| 丽水市| 安阳市| 蓝山县| 三台县| 滕州市| 普兰店市| 巴林右旗| 红河县| 应城市| 吉林省| 刚察县| 民勤县| 瓮安县| 柘城县| 鄂伦春自治旗| 绥江县| 彰武县| 连平县| 霸州市| 都昌县| 鄂尔多斯市| 彰化县|