幾木

          低調的張狂

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

          2008年2月2日 #

          在使用Microsoft提供的JDBC可能很多人都遇到以下兩個問題,今天一個朋友在使用的時候就遇到了,后來幫朋友把問題解決了,在解決問題的過程中我也查了些資料,在網上發現有一些朋友對這些問題不是很清楚,所以今天把這兩個問題寫下來,大家一起交流進步。

          問題一:
          出現異常:Can't start a cloned connection while in manual transaction mode.
          原因:今天朋友遇上這個問題是因為使用了多個Statement,并且使用了手動事務狀態。
          解決方法:在數據庫連接字符串中加入SelectMethod=Cursor即可,SelectMethod的默認模式為direct,代碼:

          jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test;SelectMethod=Cursor

          問題二:
          出現異常:com.microsoft.jdbc.sqlserver.SQLServerConnection.prepareStatement(Ljava/lang/String;I)Ljava/sql/PreparedStatement;
          原因:使用了自動綁定主鍵,代碼:
           
          String sql = "INSERT INTO test values(?)";
          PreparedStatement pstmt 
          = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
          pstmt.setString(
          1"test");
          pstmt.executeUpdate();

          解決方法:這里我是使用了第三方JDBC包(jtds)解決的,下載地址:http://jtds.Sourceforge.net,下面貼出JDBC驅動及連接地址:

          String driver="net.sourceforge.jtds.jdbc.Driver";
          String url
          ="jdbc:jtds:sqlserver://localhost:1433;DatabaseName=test"

          關于第二個問題,如果有朋友知道如何在SQLServer2000的JDBC中解決,請給我留言,一起交流進步。
          在這里推薦使用第三方JDBC(jtds)包,用這個包的話至少以上兩個問題都不用擔心。
          posted @ 2008-02-02 22:14 JIMU 閱讀(625) | 評論 (1)編輯 收藏

          主站蜘蛛池模板: 友谊县| 读书| 缙云县| 东乡县| 麻栗坡县| 杂多县| 长汀县| 同仁县| 宜阳县| 苗栗县| 崇文区| 博兴县| 肃北| 盐城市| 比如县| 水富县| 广汉市| 龙口市| 乌拉特中旗| 玉山县| 安图县| 永济市| 巴楚县| 美姑县| 舞钢市| 彰化县| 赫章县| 锡林浩特市| 奎屯市| 淮阳县| 隆化县| 绥宁县| 鄂托克旗| 晋州市| 高唐县| 蒲城县| 天祝| 平顺县| 桐柏县| 龙州县| 师宗县|