![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
持久技术---SQL、连接池、数据库
文章平均质量分 60
iteye_11753
这个作者很懒,什么都没留下…
展开
-
【转载】OracleDBConsoleorcl 启动不了 服务特定错误2【解决办法】
问题描述:我的oracle不知道为什么OracleDBConsoleorcl 启动不了 出现“服务特定错误2”现在我也不知道原因估计是因为我电脑的IP经常变动,有时在公司用,有时在家里用!我的oracle版本:oracle10g 问题解决:上网搜索,发现很多人遇到过这问题,不过导致这问题的原因也很多,我是试了几个方法都不行,后来进行如下:第一步:先删除原来的配置:...原创 2011-09-14 12:55:12 · 375 阅读 · 0 评论 -
ORACLE删除重复记录方法
几个删除重复记录的SQL语句1.用rowid方法2.用group by方法 现有一个人员表persons,有三个成员:ID,CARDID,PNAME1.用rowid方法select * from persons a where rowid != (select max(rowid) from persons b ...原创 2012-02-22 14:30:48 · 77 阅读 · 0 评论 -
in和=无法查出为NULL的值
select * from base.persons x where x.pname in ( null)select * from base.persons x where x.pname = ( null)--以上两句查询结果为空。虽然表里有相应的值。 Id=NULL 为UNKNOWN。 那么无法查询出列值为Null的记录。 另外:x.id != null结果也为空。 ...原创 2012-02-22 15:04:28 · 303 阅读 · 0 评论 -
oracel SQL注意 IS NULL
原先对主用户的判断逻辑为:a.main_prod_inst_id=0 对于main_prod_inst_id字段为空的记录就无能为力了,所以现在做以下修改:a.main_prod_inst_id=0 or a.main_prod_inst_id is null...原创 2011-10-28 16:41:40 · 104 阅读 · 0 评论 -
常用的SQL
单建表:create table SEC_LOGIN_LOG_201203 as select * from SEC_LOGIN_LOG_201201 where 1=2 根据某些列建表:create table so1.h_ins_prod1 as (select t1.h_id,t2.* from so1.h_ins_prod t1,so1.ins_prod t2 where 1=...原创 2012-03-01 11:02:52 · 85 阅读 · 0 评论 -
关于START WITH 和CONNECT BY PRIOR 的记法
--往上select t.*, t.rowid from sec.sec_organize twhere 1 = 1START WITH ORGANIZE_ID = :orgIdCONNECT BY PRIOR PARENT_ORGANIZE_ID = ORGANIZE_ID;--往下select t.*, t.rowid from sec.sec_organize twhere 1 = 1...原创 2012-03-13 17:20:12 · 176 阅读 · 0 评论 -
JDBC中,Connection 、ResultSet 和 Statement 的关闭
一、JDBC中,如果ResultSet 和 Statement 不关闭的话,会有什么影响? 不使用连接池的情况下,如果你直接关闭连接话,对应的Statement,ResultSet对象都应该由Driver Vendor来帮你关闭,即由他来进行资源的释放.这个是由JDBC3.0规范中提到的.因为有些数据库资源可能属于GC不能释放的范围. 对于连接池的实现而言,有时间我看看Orac...原创 2012-03-19 16:45:09 · 1694 阅读 · 0 评论 -
使用dbcp的简单例子 .
运行时需要用到的类包:commons-dbcp-1.2.2.jar ojdbc14.jar commons-pool.jar commons-collections.jarimport java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import org.a...原创 2011-11-29 23:24:42 · 161 阅读 · 0 评论 -
dbcp 属性说明及完整配置
initialSize :连接池启动时创建的初始化连接数量(默认值为0) maxActive :连接池中可同时连接的最大的连接数(默认值为8,调整为20,高峰单机器在20并发左右,自己根据应用场景定) maxIdle:连接池中最大的空闲的连接数,超过的空闲连接将被释放,如果设置为负数表示不限制(默认为8个,maxIdle不能设置太小,因为假如在高负载的情况下,连接的打开时间比关闭的时间快,会引起连...原创 2011-11-29 23:25:35 · 109 阅读 · 0 评论 -
spring事务处理:如果一个事务中有两个SQL,一个成功,另一个失败但被Try catch住了,这时会有什么问题...
try { con.setAutoCommit(false); //这句让正常执行 con.createStatement().execute("insert into sys_admin values(12,'zhangs','zhangs')"); //这句由于表不存在,所以会报异常 con.createStatement().execute("insert into sy...原创 2012-03-24 21:34:52 · 2444 阅读 · 0 评论 -
java.sql.SQLException: ORA-01000: maximum open cursors exceeded
java.sql.SQLException: ORA-01000: maximum open cursors exceeded Posted on 2006年2月8日 13:48 问题描述:Oracle 使用 OPEN_CURSORS 参数指定一个会话一次最多可以打开的游标的数量。超过此数量时,Oracle 将报告 ORA-01000 错误。当此错误传到 DAO时,就会抛出 ...原创 2012-02-08 17:41:18 · 158 阅读 · 0 评论 -
Apache common-pool, common-dbcp源码解读与对象池原理剖析 【转载】
最近在做一个内部测试工具类的优化工作中接触到了连接池, 对象池技术, 将原有的未使用连接池的数据库访问操作改成连接池方式.性能有了非常大的提升, 事实证明, 经过两次改造, 原来一个比较大的测试类需要500多秒, 第一次优化后只需要300多秒, 第二次改用连接池之后同一个测试类只需要80多秒.下面是改造过程中的一些总结. 对象池就是以"空间换时间"的一种常用缓存机制, 这里的"时间"特指创建时间,...原创 2012-01-18 14:42:33 · 76 阅读 · 0 评论 -
存储过程学习
一、 匿名块--set serveroutput on;declare -- Local variables here v_id sec.SEC_ORGANIZE.organize_id%type; v_name varchar2(1000);begin -- Test statements here select t.organize_id, t.o...原创 2011-09-14 17:46:21 · 87 阅读 · 0 评论 -
函数学习
函数:create or replace function MyFun1(v_custId in cm_customer.cust_id%type) return varchar2 is Result varchar2(100);begin select t.cust_code || ' ' || t.cust_name into Result fro...原创 2011-09-15 20:28:46 · 53 阅读 · 0 评论 -
包学习
包:create or replace package MyTestPkg is -- Author : WANGTL -- Created : 2011-9-15 13:47:06 -- Purpose : forTest -- Public function and procedure declarations-- function < Funct...原创 2011-09-15 20:30:08 · 90 阅读 · 0 评论 -
触发器学习
触发器:create or replace trigger MyTrig1 before update on cm_customer for each rowdeclare -- local variables herebegin RAISE_APPLICATION_ERROR(-20500, 'You ...原创 2011-09-15 20:30:57 · 55 阅读 · 0 评论 -
游标学习
游标:--定义游标、变量、打开、关闭DECLARE CURSOR c1 IS SELECT cust_name FROM so1.cm_customer WHERE ROWNUM < 11; v_name cm_customer.cust_name%TYPE;BEGIN OPEN c1; LOOP FETCH c1 INT...原创 2011-09-15 20:31:43 · 58 阅读 · 0 评论 -
JDBC--日期类型处理
对表里字段类型为:DATE不同版本的OJDBC驱动包使用getObject出来的类型不同。ojdbc14_10_2_0_4.jar出来的是java.sql.Dateojdbc14.jar出来的是java.sql.Timestamp Connection conn = null; PreparedStatement ptmt = null; ResultSet r...原创 2011-09-16 10:22:23 · 83 阅读 · 0 评论 -
事务解说
描述:事务就是对一系列的数据库操作(比如插入多条数据)进行统一的提交或回滚操作,如果插入成功,那么一起成功,如果中间有一条出现异常,那么回滚之前的所有操作。这样可以防止出现脏数据,防止数据库数据出现问题。开发中为了避免这种情况一般都会进行事务管理。分类:1.在JDBC中是通过Connection对象进行事务管理的,默认是自动提交事务,可以手工将自动提交关闭,通过commit方法进行提交...2011-09-22 10:14:34 · 59 阅读 · 0 评论 -
Java连接访问Oracle--Connection.setSavepoint()方法使用
使用时有一个重要前提:你不能使用oracle的classes12.jar,需要把oracle的jdbc驱动替换成ojdbc14.jar,否则savepoint()功能不能使用(出现“abstract方法尚未被oracle的jdbc驱动实现的错误”)。 JDBC 3.0的savepoints可以让你细化地控制一个数据库事务。JDBC 3.0的一个最酷的新功能就是它可以在一个事务中创建并运用s...原创 2011-09-25 15:41:08 · 233 阅读 · 0 评论 -
OJDBC版本不同引发的DATE问题
一般的数据库中,DATE字段仅仅表示日期,不包括日期信息,而Oracle数据库中的DATE数据类型是包括日期、时间的,对于不同的Oracle jdbc驱动版本,对于该问题的处理都有些区别,如果你使用9i或者11g的驱动程序,可能不会发现什么困惑,不幸的话,你使用Oracle10g的JDBC驱动,问题就来了,你会发现时间不见了?看下面的程序• 表结构如下create table t_test(...原创 2011-09-26 16:37:55 · 611 阅读 · 0 评论 -
JDBC执行存储过程的四种情况
本文主要是总结 如何实现 JDBC调用Oracle的存储过程,从以下情况分别介绍:[1]、只有输入IN参数,没有输出OUT参数[2]、既有输入IN参数,也有输出OUT参数,输出是简单值(非列表)[3]、既有输入IN参数,也有输出OUT参数,输出是列表[4]、输入输出参数是同一个(IN OUT)【准备工作】 创建一个测试表TMP_MICHAEL ,并插入数据,SQL如下...原创 2012-05-29 10:33:43 · 198 阅读 · 0 评论