易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : Oracle

java多线程保存oracle的blob字段在本地生成图像

前些日子折腾的在线拍照,由于只是更新blob字段,没有在本地保存照片,导致客户拍脑门想要的时候不能马上拿出来。没说的谁让顾客是上帝呢,做吧。使用线程池创建三个线程让自定一个线程目标共享(也就是把表里的记录分成n组同时执行导出)。程序很简单,一共四个类和一个ojdbc14.jar包。由于sql语句写错了造成多个线程对一个文件进行写操作,害的我查了半天。
首先定义分页对象也就是每个线程要处理的数据量(通过传入的总页数和总行数得到每页数量)
package com.main;
import java.util.ArrayList;
import java.util.List;
public class PageVO {
 private String startRowNum;//返回查询的起始行
 private String endRowNum;//返回查询的终止行
 private int totalRows; //  数据查询总记录数
 private int totalPages; // 分成页数
 private int pageRows;//每页行数
 public PageVO(){
 }
 public PageVO(int totalRows,int totalPages){
  this.totalPages = totalPages;
  this.totalRows = totalRows;
 }
 public PageVO(String startNum,String endNum){
   ......

java多线程保存oracle的blob字段在本地生成图像

前些日子折腾的在线拍照,由于只是更新blob字段,没有在本地保存照片,导致客户拍脑门想要的时候不能马上拿出来。没说的谁让顾客是上帝呢,做吧。使用线程池创建三个线程让自定一个线程目标共享(也就是把表里的记录分成n组同时执行导出)。程序很简单,一共四个类和一个ojdbc14.jar包。由于sql语句写错了造成多个线程对一个文件进行写操作,害的我查了半天。
首先定义分页对象也就是每个线程要处理的数据量(通过传入的总页数和总行数得到每页数量)
package com.main;
import java.util.ArrayList;
import java.util.List;
public class PageVO {
 private String startRowNum;//返回查询的起始行
 private String endRowNum;//返回查询的终止行
 private int totalRows; //  数据查询总记录数
 private int totalPages; // 分成页数
 private int pageRows;//每页行数
 public PageVO(){
 }
 public PageVO(int totalRows,int totalPages){
  this.totalPages = totalPages;
  this.totalRows = totalRows;
 }
 public PageVO(String startNum,String endNum){
   ......

oracle的oci和thin区别

1)从使用上来说,oci必须在客户机上安装oracle客户端或才能连接,而thin就不需要,因此从使用上来讲thin还是更加方便,这也是thin比较常见的原因。
2)原理上来看,thin是纯java实现tcp/ip的c/s通讯;而oci方式,客户端通过native java method调用c library访问服务端,而这个c library就是oci(oracle called interface),因此这个oci总是需要随着oracle客户端安装(从oracle10.1.0开始,单独提供OCI Instant Client,不用再完整的安装client)
3)它们分别是不同的驱动类别,oci是二类驱动, thin是四类驱动,但它们在功能上并无差异。
4)虽然很多人说oci的速度快于thin,但找了半天没有找到相关的测试报告。 ......

oracle 触发器

Create [or replace] trigger [模式.]触发器名
       Before| after |instead of  insert|delete|(update of 列名)
       {insert|delete|(update of 列名) }
On 表名|视图|模式名|数据库名
[for each row]
When 条件
PL/SQL块
说明:
For each row的意义是:在一次操作表的语句中,每操作成功一行就会触发一次;不写的话,表示是表级触发器,则无论操作多少行,都只触发一次(如一次update 会更新多条数据,但是只执行一次);
When条件的出现说明了,在DML操作的时候也许一定会触发触发器,但是触发器不一定会做实际的工作,比如when 后的条件不为真的时候,触发器只是简单地跳过了PL/SQL块;
其中只有update 可以指定列名.
instead of 是在视图上定义的触发器,且只能在行级触发器里面使用.因为视图对表的增删改只能基于单表,使用较少.
On 表名|视图|模式名|数据库名  按照对象不同,又可分为模式触发器(模式名),数据库触发器(database) ......

oracle数据库字段类型及其与Java.sql.Types的对应

字符类型:
CHAR(size):固定长度字符串,最大长度2000 bytes
VARCHAR2(size):可变长度的字符串,最大长度4000 bytes,可做索引的最大长度749
NCHAR(size):根据字符集而定的固定长度字符串,最大长度2000 bytes
NVARCHAR2(size):根据字符集而定的可变长度字符串,最大长度4000 byte
LONG:变长的字符串,最大长度限制是2GB
CLOB:最大长度4G
NCLOB:根据字符集而定的字符数据,最大长度4G
—数值类型
NUMBER(p,s)
范围: 1 <= p <=38, -84 <= s <= 127
保存数据范围:-1.0e-130 <= number value < 1.0e+126    ??
有效位:从左边第一个不为0的数算起的位数
S>0,精确到小数点右边s位,并四舍五入。然后检验有效位是否<=p
Eg:198.34 ànumber(6,1)à198.3,
      198.34ànumber(3,1)àerror
S<0,精确到小数点左边s位,并四舍五入。然后检验有效位是否<=p+|s|
Eg:198.34ànumber(6,-1)à200
      19834567.34ànumber(6,-1)àerror(有效位8>6+1)
S=0,number表示整数
—Oracle 10g以 ......

oracle数据库字段类型及其与Java.sql.Types的对应

字符类型:
CHAR(size):固定长度字符串,最大长度2000 bytes
VARCHAR2(size):可变长度的字符串,最大长度4000 bytes,可做索引的最大长度749
NCHAR(size):根据字符集而定的固定长度字符串,最大长度2000 bytes
NVARCHAR2(size):根据字符集而定的可变长度字符串,最大长度4000 byte
LONG:变长的字符串,最大长度限制是2GB
CLOB:最大长度4G
NCLOB:根据字符集而定的字符数据,最大长度4G
—数值类型
NUMBER(p,s)
范围: 1 <= p <=38, -84 <= s <= 127
保存数据范围:-1.0e-130 <= number value < 1.0e+126    ??
有效位:从左边第一个不为0的数算起的位数
S>0,精确到小数点右边s位,并四舍五入。然后检验有效位是否<=p
Eg:198.34 ànumber(6,1)à198.3,
      198.34ànumber(3,1)àerror
S<0,精确到小数点左边s位,并四舍五入。然后检验有效位是否<=p+|s|
Eg:198.34ànumber(6,-1)à200
      19834567.34ànumber(6,-1)àerror(有效位8>6+1)
S=0,number表示整数
—Oracle 10g以 ......

oracle数据库字段类型及其与Java.sql.Types的对应

字符类型:
CHAR(size):固定长度字符串,最大长度2000 bytes
VARCHAR2(size):可变长度的字符串,最大长度4000 bytes,可做索引的最大长度749
NCHAR(size):根据字符集而定的固定长度字符串,最大长度2000 bytes
NVARCHAR2(size):根据字符集而定的可变长度字符串,最大长度4000 byte
LONG:变长的字符串,最大长度限制是2GB
CLOB:最大长度4G
NCLOB:根据字符集而定的字符数据,最大长度4G
—数值类型
NUMBER(p,s)
范围: 1 <= p <=38, -84 <= s <= 127
保存数据范围:-1.0e-130 <= number value < 1.0e+126    ??
有效位:从左边第一个不为0的数算起的位数
S>0,精确到小数点右边s位,并四舍五入。然后检验有效位是否<=p
Eg:198.34 ànumber(6,1)à198.3,
      198.34ànumber(3,1)àerror
S<0,精确到小数点左边s位,并四舍五入。然后检验有效位是否<=p+|s|
Eg:198.34ànumber(6,-1)à200
      19834567.34ànumber(6,-1)àerror(有效位8>6+1)
S=0,number表示整数
—Oracle 10g以 ......

oracle数据库时常用的操作命令

1、su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。
2、sqlplus /nolog 或sqlplus system/manager 或./sqlplus system/manager@ora9i;
3、SQL>connect / as sysdba ;(as sysoper)或
connect internal/oracle AS SYSDBA ;(scott/tiger)
conn sys/change_on_install as sysdba;
4、SQL>startup; 启动数据库实例
5、 查看当前的所有数据库: select * from v$database;
select name from v$database;
desc v$databases; 查看数据库结构字段
7、怎样查看哪些用户拥有SYSDBA、SYSOPER权限:
SQL>select * from V_$PWFILE_USERS;
Show user;查看当前数据库连接用户
8、进入test数据库:database test;
9、查看所有的数据库实例:select * from v$instance;
如:ora9i
10、查看当前库的所有数据表:
SQL> select TABLE_NAME from all_tables;
select * from all_tables;
SQL> select table_name from all_tables where table_name like ‘u’;
TABLE_NAME———————————————default_auditing_options ......

oracle在线文档地址

为防忘记,记录于下:
oracle 11gR2 : http://www.oracle.com/pls/db112/homepage,下载网址http://www.oracle.com/technology/documentation/database.html
oracle 11gR1 : http://www.oracle.com/pls/db111/homepage
oracle 10gR2 : http://www.oracle.com/pls/db102/homepage ......
总记录数:3994; 总页数:666; 每页6 条; 首页 上一页 [260] [261] [262] [263] 264 [265] [266] [267] [268] [269]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号