数据库的Timeout

数据库的Timeout 其实有很多种情况。

一个是执行的超时时间 executionTimeOut,一个是连接的超时时间connectionTimeOut,

还有呢? 等待的超时时间 ReadTimeout。不过很多数据库情况下connectionTimeOut 就是ReadTimeout

props.put("user", userName);
props.put("password", passSecret);
if ("oracle".equals(dbType)) {
//props.put("connectionProperties", "oracle.net.CONNECT_TIMEOUT=10000;oracle.jdbc.ReadTimeout=10000");
props.put("oracle.net.CONNECT_TIMEOUT", "10000");
props.put("oracle.jdbc.ReadTimeout", "10000");
}

String sleepsql = "declare "+
"begin "+
"sys.dbms_lock.sleep(20); "+
"dbms_output.put_line(‘asfasf‘);"+
"end;";
String sqlStr =
"select distinct tablespace_name from sys.dba_tables where owner = ‘"
+ dbInfo.getName().toUpperCase()
+ "‘ and trim(tablespace_name) is not null";
List<String> dbList = new ArrayList<String>();
PreparedStatement statement = null;
ResultSet rs = null;
try {
CallableStatement callableStatement = conn.prepareCall(sleepsql);
callableStatement.execute();
//conn.setNetworkTimeout(Executors.newCachedThreadPool(), 30000);
} catch (SQLException e) {
e.printStackTrace();
} finally {

}

开始是通过下面的,不过一直就是报错,行不通, 貌似驱动版本不够新。

conn.setNetworkTimeout(Executors.newCachedThreadPool(), 30000);

有关数据库的锁:

http://www.cnblogs.com/cqubityj/archive/2012/06/16/2551947.html

http://www.cnblogs.com/leemoby/p/3583428.html

LOCK TABLE iempeam.t_aa IN EXCLUSIVE MODE

SELECT * FROM  iempeam.t_aa  TABLOCKX

数据库的Timeout

时间: 2024-10-14 00:22:49

数据库的Timeout的相关文章

mysql数据库优化之语句优化

数据库优化目的 避免出现页面访问错误 1.由于数据库链接timeout产生页面5xxx错我 2.由于慢查询造成页面无法加载 3.由于阻塞造成数据无法提交 如何发现有问题的sql 使用mysql慢查日志对有效率问题的sql进行监控 show variables like '%slow%'; set global log_queries_not_using_indexes=on; 代表 记录下没有使用索引的sql 后面进行优化 ,记录未使用索引的 打开 long_query_time 单位是秒 一般

数据库实践

一.SQLite3 数据库 SQLite3 可使用 sqlite3 模块与 Python 进行集成,一般 python 2.5 以上版本默认自带了sqlite3模块,因此不需要用户另外下载. 在 学习基本语法之前先来了解一下数据库是使用流程吧 ↓↓↓ 所以,首先要创建一个数据库的连接对象,即connection对象,语法如下: sqlite3.connect(database [,timeout,其他可选参数]) function: 此API打开与SQLite数据库文件的连接.如果成功打开数据库

SqlException:ConnectionTimeout Expired. The timeout period elapsed during the post-login phase

linux系统部署.netcore程序后,访问某台sqlserver 2008 R2数据库 Connection Timeout Expired. The timeout period elapsed during the post-login phase. The connection could have timed out while waiting for server to complete the login process and respond; Or it could have

PB连接数据库

数据库的事务连接,以前很少接触,做个东西都是用本地的数据库,没用过远程,数据库事务的连接也都用默认的,所以就造成了对这方面基本知识的不了解,实际上就是很简单东西. 首先得把数据库那边的设置弄好,ODBC也好,OLE DB也好,总之先把数据源建起来.然后就程序中的代码就这么几个东西: SQLCA.DBMS = "OLE DB"SQLCA.LogId = gs_logidSQLCA.LogPass=gs_logpassSQLCA.AutoCommit = FalseSQLCA.dbparm

LNMP环境搭建ZABBIX3.0

1.LNMP环境搭建,这里就不详细介绍了,但是有几点需要注意 1)mysql如果是二进制或者编译安装,php编译的时候需要一下编译参数 --with-mysqli=/application/mysql-5.5.32/bin/mysql_config //后面的路径是你的mysql_config的具体路径,如果不加此参数会导致安装zabbix的时候找不到mysql support 2)mysql建立zabbix数据库的时候要指定utf8建库,再导入zabbix的数据 3)php编译的时候要加下面的

Python操作sqlserver

一.使用模块介绍及安装 1.Python操作sqlserver所使用的模块是pymssql. 2.pymssql安装,直接使用pip install pymssql进行安装. 二.Python操作sqlserver介绍 1.数据库连接类及参数介绍 pymssql.connect:sqlserver连接的连接类. host(str):需要连接的数据库主机和实例.如:ip.ip\SQLEXPRESS..\SQLEXPRESS等. user(str):连接数据库的用户名.如:sa.test等. pas

redis实现spring-redis-data的入门实例

redis的客户端实现.主要分为spring-redis-data .jredis. 记录下spring-redis-data的学习心得:spring-redis-data 中我目前主要用了它的存.取.清除. redis配置redis-manager-config.properties : redis.host=192.168.1.20//redis的服务器地址redis.port=6400//redis的服务端口redis.pass=1234xxxxx//密码redis.default.db=

Django中的cookie和session

cookies 客户端浏览器上的一个文件 {'user':'xiaoyanzi'} 获取cookie: request.COOKIES.get('username') 写cookie: #设置cookie,关闭浏览器失效 response = render(request,'index.html') response = redirect('/index/') response.set_cookie('key','value') return response cookies参数 #cookie

zabbix--4.0源码安装

Zabbix4.0 源码编译安装 ps:其实相对 zabbix 来说,直接按照官网 yum 安装还是要方便点,我这里已经有 lnmp 的环境了,就想自己编译安装试下. 官网yum安装中文文档:https://www.zabbix.com/documentation/4.0/zh/manual/installation/install_from_packages/rhel_centos 官网源码安装中文文档:https://www.zabbix.com/documentation/4.0/zh/m