幾木

          低調的張狂

            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 閱讀(623) | 評論 (1)編輯 收藏

          主站蜘蛛池模板: 海安县| 芷江| 岢岚县| 江津市| 胶州市| 长顺县| 金湖县| 绵竹市| 定襄县| 贺州市| 喜德县| 佛山市| 循化| 依安县| 南汇区| 武平县| 白山市| 英超| 元阳县| 通江县| 泰州市| 尤溪县| 永年县| 汕尾市| 乌海市| 雅安市| 嵊州市| 宜章县| 镇赉县| 饶平县| 龙南县| 永平县| 辛集市| 莱阳市| 贵定县| 阿克| 大城县| 虎林市| 绥芬河市| 金川县| 万山特区|