JDBC 数据库连接超时和查询超时控制问题

2019-03-25 13:32|来源: 网路

DriverManager.setLoginTimeout();
Statement.setQueryTimeout();
不起作用

问题补充:
chen_yongkai 写道
引用
Oracle   JDBC   does   not   support   login   timeouts.   Calling   the   static   DriverManager.setLoginTimeout()   method   will   have   no   effect

找了个ojdbc15.jar,可以,但是mysql的还是不行。。

问题补充:
chen_yongkai 写道
引用
void setQueryTimeout(int seconds)
                     throws SQLException将驱动程序等待 Statement 对象执行的秒数设置为给定秒数。如果超过该限制,则抛出 SQLException。

参数:
seconds - 以秒为单位的查询超时限制;零表示没有任何限制

有没有把时间单位搞错了?

setQueryTimeout方法用oracle、mysql测试,可以。

问题补充:
chen_yongkai 写道
还与数据库的驱动程序有关系,你用的是什么驱动(jar包)?

mysql5.1的jar包还是不行,通过设置connectiontimeout参数可以实现,但不是想要的结果,不知道针对不同数据库jdbc驱动有没有统一的实现方法来控制连接超时?

相关问答

更多
  • 放到lib下就行了 连接数据库别的方法。。。有基于jdbc的集成框架,如现在流行的hibernate等等, 现在我也在学java希望和lz共同进步 哈哈
  • MYSQL和JDBC[2022-11-12]

    下列哪个子句可以用于SQL中的排序: ( ) 、order by 2 在MySQL中,通常使用________语句来指定一个已有数据库作为当前工作数据库 D、USE 3Statement中的executeUpdate方法的返回值是:----- ()单选 A、int 4下列表示删除表user的语句正确的是:( ) ----- 单选 C、delete from user; 5SQL语言又称________。( ) ----- 单选 C、结构化查询语言 6下列哪些是JDBC用到的接口和类: ( ) ----- 多 ...
  • 找到你安装的oracle文件夹,例如我的oracle是装到C:\ 则找到路径:C:\oracle\product\10.2.0\db_1\jdbc\lib 下有一个文件叫class12.jar复制他,在MyEclipse 创建一个web项,创建完成后粘贴到如图位置复制后 驱动导入~ 然后导入后 给你个例子看吧 照着例子四部: package com.livechain.jdbc; import java.sql.Connection; import java.sql.DriverManager; impor ...
  • 是 需要启动MySQL服务 root 连接代码: import java.sql.*; public class JdbcUtil { JdbcUtil(){ try{ Class.forName("com.mysql.jdbc.Driver"); }catch(Exception e){ e.printStackTrace(); } } public Connection getConnection() throws Exception{ return DriverManager.getConnectio ...
  • 您还需要使用32位ODBC。 看看这个链接: http://sqlblog.com/blogs/john_paul_cook/archive/2010/03/16/32-bit-odbc-on-windows-server-2008-r2.aspx 一旦你克服了这个障碍,我想你将能够解决你的其他问题。 You need to use 32-bit ODBC as well. Check out this link: http://sqlblog.com/blogs/john_paul_cook/archiv ...
  • Layman的条款: JDBC是数据库访问的标准 JPA是ORM的标准 JDBC是直接连接到DB并针对其运行SQL的标准 - 例如SELECT * FROM USERS等。可以返回可以在应用程序中处理的数据集,您可以执行所有常规的操作,如INSERTS,DELETES,run存储过程等。它是大多数Java数据库访问背后的基础技术之一(包括JPA提供程序)。 传统JDBC应用程序的一个问题是,您经常会遇到一些骇人听闻的代码,数据集和对象之间的映射很多,逻辑与SQL等混合在一起。 JPA是对象关系映射的标准。 ...
  • 参与事务的所有端点本质上都是同步的。 是标准交易是好的,如果它们都使用相同的connector 。 你可以使用:
    试试ojdbc14.jar。 它会定义工作。 try ojdbc14.jar. it will work definetely.
  • 使用活动会话历史记录(ASH)数据来查找正在运行的内容以及何时运行。 ASH数据基于抽样。 不要指望在精确的毫秒内找到确切的查询。 但是如果存在性能问题,它应该在这样的查询中突出: select username, sample_time, sql_id from gv$active_session_history join dba_users on gv$active_session_history.user_id = dba_users.user_id where sample_time bet ...
  • JDBC 4应与JDBC 3向后兼容,您将无需更换驱动程序。 从JDBC 4.0规范引用2.2目标部分概述,JDBC 4.0的目标之一是 8)保持与现有应用程序和驱动程序的向后兼容性现有的支持JDBC技术的驱动程序(JDBC驱动程序)和使用它们的应用程序必须继续在支持JDBC 4.0 API的Java虚拟机的实现中工作。 仅使用早期版本的JDBC API中定义的功能的应用程序不需要更改即可继续运行。 现有应用程序迁移到JDBC 4.0技术应该很简单。 JDBC 4 shall be backward com ...