关于oracle中blob字段的录入问题
在oracle中,有4个大对象(lobs)类型可用,分别是blob,clob,bfile,nclob。
下面是对lob数据类型的简单介绍。
blob:二进制lob,为二进制数据,最长可达4GB,存贮在数据库中。
clob:字符lob,字符数据,最长可以达到4GB,存贮在数据库中。
bfile:二进制文件;存贮在数据库之外的只读型二进制数据,最大长度由操作系统限制。
nclob:支持对字节字符集合(nultibyte characterset)的一个clob列。
对于在其他不同的开发环境,例如vc,vb,pb,java等环境下对lob的处理,处理方法不尽相同,在这里将举用jdbc处理lob的例子
String strSQL = "Insert Into BKS_XSZPXX(XH,ZPLXM,ZP) Values('3071801040','1',empty_blob())";
updateTable1(strSQL,conn);
conn.setAutoCommit(false);
strSQL = "Select ZP from BKS_XSZPXX where XH='3071801040' For Update";
Statement stmt = null;
ResultSet rs = null;
stmt = conn.createStatement();
rs = stmt.executeQuery(strSQL);
rs.next();
BLOB blob = (BLOB) rs.getBlob("ZP");
OutputStream os = blob.getBinaryOutputStream();// 建立输出流
BufferedOutputStream output = new BufferedOutputStream(os);
BufferedInputStream input = new BufferedInputStream(new File("F:/3071801040.jpg").toURL().openStream());
byte[] buff = new byte[2048000]; //用做文件写入的缓冲
int bytesRead;
while(-1 != (bytesRead = input.read(buff, 0, buff.length)))
{
output.write(buff, 0, bytesRead);
//System.out.println(bytesRead);
}
output.close();
input.close();
rs.close();
conn.commit();
conn.setAutoCommit(true);
stmt.close();
相关文档:
* start Oracle *
set noexec_user_stack=1
set msgsys:msginfo_msgmax=65535
set msgsys:msginfo_msgmnb=65535
set msgsys:msginfo_msgmap=258
set msgsys:msginfo_msgmni=1792
set msgsys:msginfo_msgssz=32
set msgsys:msginfo_msgtql=1792
set msgsys:msginfo_msgseg=32767
set shmsys:shminfo_shmmax=4294967 ......
TO_DATE格式(以时间:2007-11-02 13:45:25为例)
Year:
yy two digits 两位年 ......
--创建用户
create user iagent identified by ia
profile default
default tablespace users
temporary tablespace temp
account unlock;
--给创建的用户授权
grant create user,drop user,alter user,create any view,drop any view,exp_full_database,imp_full_database,dba,connect,resour ......
事务处理:所谓的事务处理就是保证操作的完整性,所有操作要么同时成功,要么同时失败。
原理如下:
在Oracle每个连接到数据库的窗口,连接之后建立一个session。一个session里面对数据所做的修改,不会立刻反应在数据库的真实数据之上,是允许回滚的,当一个session提交所有的操作后,数据才真正地做出修改。
& ......
oracle命令 收藏
1. ORACLE数据库启动与关闭
1.1 打开和关闭数据库 (手工)
1.1.1 sqlplus连接
#su - oracle
#sqlplus /nolog
1.1.2 打开数据库
sql> connect sys/oracle as sysdba;
sql> startup [nomount|mount]
等待十几秒左右,当看到
oracle instances started,
databa ......