Technorati 标签: oracle

--以SYS用户创建目录dir_dump,文件就保存在这个目录下
SQL> create directory dir_dump as '/data/cmssdb';
Directory created.
--授权对应的操作帐号读和写的权限,这里是operator
SQL> grant read on directory dir_dump to operator;
Grant succeeded.
SQL> grant write on directory dir_dump to operator;
Grant succeeded.
--以operator用户登陆
SQL> connect operator/operation
Error accessing PRODUCT_USER_PROFILE
Warning:  Product user profile information not loaded!
You may need to run PUPBLD.SQL as SYSTEM
Connected.
--创建表BIBI,并加入测试数据
SQL> create table bibi(row_id int,row_name varchar2(10));
Table created.
SQL> insert into bibi values(1,'luochun');
1 row created.
SQL> insert into bibi values(2,'maihy');
1 row created.
SQL> commit;
Commit complete.
/*--该过程负责备份数据到DIR_DUMP目录,名称为bibi.csv
DECLARE lv_file_handle UTL_FILE.file_type;
BEGIN
lv_file_handle := UTL_FILE.FOPEN('DIR_DUMP','bibi.csv','a');
FOR x IN (SELECT ROW_ID,ROW_NAME FROM BIBI) LOOP
  UTL_FILE.PUT_LINE(lv_file_handle,x.ROW_ID || ',' || NVL(x.ROW_NAME,''));
END LOOP;
UTL_FILE.FCLOSE(lv_file_handle);
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM,1,200));
END;
/
*/
--过程完成,转到DIR_DUMP目录查看生成的文件,数据已经产生
[oracle@qaserver oracle]$ cd /data/cmssdb
[oracle@qaserver cmssdb]$ cat bibi.csv
1,luochun
2,maihy
/*
--现在删除BIBI数据,准备将备份的导入
SQL> truncate table bibi;
Table truncated.
/*--这个过程负责读取文件,并导入数据
DECLARE lv_file_handle UTL_FILE.file_type;
lv_row_text VARCHAR2(2000);
lv_row_id PLS_INTEGER;
lv_row_name VARCHAR2(50);
BEGIN
lv_file_handle := UTL_FILE.FOPEN('DIR_DUMP','bibi.csv','r');
LOOP
  BEGIN
   UTL_FILE.GET_LINE(lv_file_handle,lv_row_text);
   lv_row_id := SUBSTR(lv_row_text,1,INSTR(lv_row_text,',',1,1) - 1);
   lv_row_name := SUBSTR(lv_row_text,INSTR(lv_row_text,',',1,1) + 1);
   INSERT INTO BIBI VALUES(lv_row_id,lv_row_name);
  EXCEPTION
   WHEN NO_DATA_FOUND THEN
    EXIT;
  END;
END LOOP;
COMMIT;
UTL_FILE.FCLOSE(lv_file_handle);
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM,1,200));
END;
/
*/
--数据已经产生
SQL> SQL> SELECT * FROM BIBI;
    ROW_ID ROW_NAME
---------- --------------------
         1 luochun
         2 maihy
SQL>

转载于:https://www.cnblogs.com/fenny8/archive/2009/03/16/1412832.html

使用UTL_FILE在oracle中读写文本数据相关推荐

  1. 《Python Cookbook 3rd》笔记(5.1):读写文本数据

    读写文本数据 问题 你需要读写各种不同编码的文本数据,比如 ASCII,UTF-8 或 UTF-16 编码等. 解法 使用带有 rt 模式的 open() 函数读取文本文件(t表示text文本模式,默 ...

  2. oracle中导入dmp数据注意事项

    1.在oracle中导入dmp数据的时候,一般使用exp导出的是带有表结构的数据,这时候导入数据库,如果数据库中有这个表,就会报错,说已经存在这个表,无法创建,这时候imp导入语句中需要加入一句ign ...

  3. oracle分页数据,在Oracle中得到分页数据

    在Oracle中得到分页数据 得到DataSet的值 例子如下: /// /// 得到Colletion分页数据 /// public DataSet GetList(int PageIndex, i ...

  4. Linux内核中读写文件数据的方法

    Linux内核中读写文件数据的方法     有时候需要在Linuxkernel--大多是在需要调试的驱动程序--中读写文件数据.在kernel中操作文件没有标准库可用,需要利用kernel的一些函数, ...

  5. 【转】 Linux内核中读写文件数据的方法--不错

    原文网址:http://blog.csdn.net/tommy_wxie/article/details/8193954 Linux内核中读写文件数据的方法     有时候需要在Linuxkernel ...

  6. 转载 从SRAM中读写一个数据问题——Verilog

    从SRAM中读写一个数据问题--Verilog 2009-04-24 14:21 从SRAM中读写一个数据问题--Verilog 操作SRAM(IS63lv1024),向SRAM写入一个数据:并从SR ...

  7. oracle自动释放表空间,Oracle中关于清除数据和释放表空间

    一.表的重命名 flashback table test2 to before drop rename to test3;--[to test3]将表重命名 drop table test3 purg ...

  8. c 将txt导入oracle,如何把文本数据导入Oracle中?

    1.首先,服务器端的侦听服务必须已经开启. 测试方法:Dos 下输入 C:\>sqlplus username/password@serviceName 2.然后使用 Oracle 的 sqll ...

  9. ZYNQ-使用SD卡读写文本数据

    学习内容 本文主要关于SD卡相关内容,然后使用SD卡进行TXT文本读写,并用串口打印出读写数据. 开发环境 vivado 18.3&SDK,PYNQ-Z2开发板. SD卡简介 SD卡(Secu ...

最新文章

  1. Ctrl+C提示是否终止shell脚本
  2. AntiXSS - 支持Html同时防止XSS攻击
  3. java对象比较 hashcode_Java Objects.hash()与自己实现的hashCode()比较
  4. java实现缓存方式_【Java】【器篇】【缓存】一个轻量的缓存实现方式
  5. Wireshark和 TcpDump抓包分析心得
  6. python 最小二乘法_最小二乘法及其python实现详解
  7. Docker下载与安装(win7,8,10,mac)
  8. GPUImage使用之stillCamera多滤镜
  9. python可变参数_Python学习之路:函数传递可变参数与不可变参数,每天学一点点...
  10. shell 封装方法_反弹shell逃逸基于execve的命令监控(上)
  11. ArcGIS 安装出现Mircrosoft .NET Framework 3.5 sp1问题的解决方案
  12. AirPlay、AirTunes 移植开发
  13. MySQL over函数的用法
  14. 如何在 Mac 上更改文件夹颜色,改变 mac 文件夹颜色教程
  15. (JDBC四)JDBC实例(b)
  16. win10升级到win11教程
  17. 计组作业【题目记录】
  18. URL is not registered
  19. 容器化技术与微服务结合---docker(一)
  20. csv格式文件如何转换成excel文件

热门文章

  1. Java 原子类的操作 AtomicInteger
  2. linux -cpu
  3. Python的可变类型与不可变类型
  4. 在iPhone应用中使用自定义字体
  5. 新书《活用UML-需求分析高手》详细大纲(持续更新中)
  6. 用Telnet 来用smtp发邮件。。 send mail by SMTP server
  7. 算法试题 - 找出字符流中第一个不重复的元素
  8. 语音交互编程语言了解一下?
  9. @property和@setter和@getter
  10. altert/html打印出来的是[object Object]