随笔分类 - Java.DB.Oracle
摘要:读取: String value=ps.getString(columnIndex); 这个和字符型字段的读取一致。 写入: String value=......; ps.setCharacterStream(columnIndex,new StringReader(value),value.le
阅读全文
摘要:【需求】 程序中需要建表,需要动态知道DB系统所允许的表名最大长度。 如果按11g允许的30位给12c,19c设置,那么后两者实际允许的128位就被武断限制了。 【思路】 使用create table tname(df char(1));这样的语句建表,不断加长tname的长度,当建表出现异常时,回
阅读全文
摘要:【需求】 Oracle表中记录时间的字段有字符串类型、Date类型、Timestamp类型三种,要求取得三种类型的时间差。 【表结构】 create table emp706( id number(3), f1s nvarchar2(20), f1e nvarchar2(20), f2s date,
阅读全文
摘要:在一次表迁移测试中,我遇到了如下异常: Java.sql.SQLException,关闭的ResultSet;findColumn,at oracle.jdbc.driver.InsentiveScrollableResultSet.ensureOpen...... 这个异常字面意思是Results
阅读全文
摘要:【代码】 package com.hy.lab.timestampdiff; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Date
阅读全文
摘要:迁移脱敏程序的核心之一--迁移部分。
阅读全文
摘要:如果使用PreparedStatement.executeBatch()向DB批量提交数据,比如一次提交一万条,总数两百万条,总共要提交两百次。 在循环提交的同时,使用sqlplus打开目标端的数据库连接,使用select count(*) from table连续观察记录数, 会发现count是这
阅读全文
摘要:代码: package com.hy.lab.tenmillion; import java.sql.*; import java.util.ArrayList; import java.util.List; public class BigTbBuilder { private static fi
阅读全文
摘要:代码: package com.hy.lab.colcomment; import java.sql.*; public class Test2 { public static Connection getConnection() { Connection conn = null; try { Cl
阅读全文
摘要:表: create table msx0504( id number(12), filename nvarchar2(20), content blob, primary key(id) ); 代码: package com.hy.lab.blob2; import java.io.FileOutp
阅读全文
摘要:表: create table msx0504( id number(12), filename nvarchar2(20), content blob, primary key(id) ); 代码: package com.hy.lab.blob2; import java.io.File; im
阅读全文
摘要:表: create table tb0504( id number(12), content blob, primary key(id) ); 程序: package com.hy.lab.blob; import java.io.FileInputStream; import java.io.Fi
阅读全文
摘要:表: create table tb0504( id number(12), content blob, primary key(id) ); 写入代码: package com.hy.lab.blob; import java.io.FileInputStream; import java.io.
阅读全文
摘要:有两个表是这样的: create table emp430_1( id number(12), name nvarchar2(20), profile clob, primary key(id) ); create table emp430_2( id number(12), name nvarch
阅读全文
摘要:有个表是这样的: create table emp430_1( id number(12), name nvarchar2(20), profile clob, primary key(id) ); 其中profile为clob类型,这种类型可以容纳超大文本。 以下是从中连续读取数据的程序: pac
阅读全文
摘要:有一个表是这样的: create table emp430_1( id number(12), name nvarchar2(20), profile clob, primary key(id) ); 其中profile是clob字段。 往这个字段连续塞入数据的程序如下: package com.h
阅读全文
摘要:【任务】 A机上有个1表,B机上有个2表,需要把1表数据全部倒腾到2表。 因为是两台机器两个库,故insert into t1 select * from t2的SQL就用不上了,需要写Java程序作为中转实现。 【难点】 1表中有个timestamp字段hdate,需要做特殊处理。 【突破口】 取
阅读全文
摘要:用||连接百分号和keyword是关键。 <select id="countPrj" resultType="java.lang.Integer"> select count(*) from dmo_project a where a.userid=#{uid} <if test="keyword
阅读全文
摘要:【功能】 以源表为基础,将其字段复刻下来制成新表。 【代码】 package com.hy.lab.clone; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement;
阅读全文
摘要:这个类是我用来做数据迁移测试的,里面把删表、建表、充值都融合到了一起,字段采用f1,f2,f3...fn的方式递增,字段类型除id外都是nvarchar2,填充的都是固定数据,大家拿下去后可以根据自己的需求修改。 速度方面,在我的老伙计T440p上, 如果是31个字段,一千万条数据,用BATCH_S
阅读全文