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)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 云和县| 泸西县| 莒南县| 常宁市| 遵义市| 韶山市| 壤塘县| 南郑县| 杂多县| 耒阳市| 赣州市| 台南县| 淮安市| 宜城市| 平原县| 天全县| 古丈县| 汉阴县| 习水县| 陆良县| 扎赉特旗| 白银市| 无极县| 大姚县| 株洲县| 溆浦县| 赤水市| 台中县| 昌图县| 皮山县| 韶关市| 昌平区| 延安市| 富宁县| 伊川县| 柳州市| 道孚县| 东海县| 寿阳县| 临西县| 乐陵市|