几木

低调的张狂

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  1 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks

在使用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 on 2008-02-02 22:14 JIMU 阅读(620) 评论(1)  编辑  收藏 所属分类: JAVA

Feedback

# re: SQLServer2000中使用JDBC的问题 2008-12-27 14:52 magicalboy
想请教下如果在Tomcat的数据连接池里应该怎样配置
<Resource
name="jdbc/thisbook"
type="net.sourceforge.jtds.jdbcx.JtdsDataSource"
password=""
driverClassName="net.sourceforge.jtds.jdbc.Driver"
maxIdle="500"
maxWait="5000"
username="sa"
url="jdbc:jtds:sqlserver://localhost:1433;DatabaseName=thisbook"
maxActive="1000"/>
这样连不上!!
E-mail:magicalboy@qq.com  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问