易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle自带的操作文件的包UTL_FILE介绍

    因开发要求,需要对oracle里的数据与数据文件作比较。如采用客户端连接oracle的方式则显得小题大做,且工作量大,不易维护。直接采用存储过程,调用UTL_FILE包的公共过程,显得方便得多。
    首先,需要把数据文件所在的目录注册到oracle中,用create directory。。。语句,然后把此目录的read,write权限grant给develop user account。注意create directory语句所需要的权限,方便得话直接用dba用户创建directory。
    其次,文件操作如同C,C++,JAVA等高级语言差不多,主要有这几个方法:
           UTL_FILE.fopen(d_output,v_filename,'r',32767);--32767很关键,如果文件一行的字节数过大,不指定这个参数,oracle只会读入最长默认长度的字符串,以至一行文本当成了“两行”读。
           UTL_FILE.get_line(FILE_HANDLE,v_text);
           UTL_FILE.put_line(FILE_HANDLE,v_text);
           UTL_FILE.fclose(FILE_HANDLE);
     对于要操作xls文件,一行数据采用chr(13)||chr(10)分割每列的数据。缺点是无法进行xls单元格的一些格式化,以及单元格合并等操作。因此虽然oracle有操作xls的基本功能,但只能完成最基本的功能。
    最后,就是字符集的问题了,上面提到的get_line函数,是以字节为单位的,oracle也有按照双字节来处理的。但是对于UTF-8的文本,某些汉字的编码是三个字节,如果其中一个字节为OA,或OD,oracle就会误认为此行已经终止,这样也会把原本一行的内容当成“两行”来读取。oracle的字符集为简体中文,可能是oracle服务端的字符集不是UTF-8才导致这个问题,还是说oracle本身就存在这个问题,还有待确认下!
 


相关文档:

转载oracle安装概要步骤

一、在ORACLE创建一个新的实例过程:
        1、安装好ORACLE服务端。
        2、创建数据库实例,使用ORAHOME目录下的"Configuration and Migration Tools"下的"Database Configuration Assistant"工具。
     &nbs ......

Oracle中TO_DATE格式

TO_DATE格式(以时间:2007-11-02   13:45:25为例)
Year:     
yy two digits 两位年            显示值:07
yyy three digits 三位年          &nbs ......

ORACLE锁信息

查看被锁的表
select   p.spid,a.serial#,
c.object_name,b.session_id,b.oracle_username,b.os_user_name   from  
v$process   p,v$session   a,   v$locked_object   b,all_objects   c  
where   p.addr=a.p ......

oracle监听启动不了

1 问题描述
oracle数据库在服务器上运行正常,但是不能通过网络连接(即使用客户端不能连接数据库,在服务器端正常,诊断的初步原因为监听器问题)。在服务器端使用以下命令:
bash-3.1$ cd $ORACLE_HOME/bin
bash-3.1$ ./lsnrctl
LSNRCTL> status
结果出现:
CONNECT (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=E ......

oracle 数据同步复制故障解决

故障解决:oracle10g 数据库复制同步
呵呵。oracle我是个菜鸟,没花功夫研究它,但我还是兼任dba,目前oracle全部是由以前的dba创建的,oracle确实好。基本没有出过问题,我也就基本不管它了,可是由于自己粗心大意,在一次修改服务器地址时候,数据库里的tns...这个配置文件忘了修改,结果导致同步失败,等我发现的时候, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号