oracle数据库读取操作系统的物理文件-转载,待完善
--源地址不详
--创建目录
SQL> create directory dir_xls as '/home/oracle';
Directory created.
--给用户授权
SQL> grant all on directory dir_xls to public;
Grant succeeded.
CREATE OR REPLACE PROCEDURE p_xlstooracle IS
v_file utl_file.file_type;
out_v VARCHAR2(4000);
v_id varchar2(20);
v_service_competition varchar2(20);
v_cu_market_share varchar2(20);
v_ct_market_share varchar2(20);
v_cm_market_share varchar2(20);
v_other_market_share varchar2(20);
BEGIN
--判断文件是否被打开
IF utl_file.is_open(v_file) THEN
utl_file.fclose(v_file);
END IF;
v_file := utl_file.fopen('DIR_XLS', 'xls_to_oracle.txt', 'r');
--循环读取文件内容,赋值 out_v
LOOP
BEGIN
utl_file.get_line(v_file, out_v);
EXCEPTION
WHEN no_data_found THEN
EXIT;
END;
--依次读取空格的位置 赋值 v_id
v_id := substr(out_v, 1, instr(out_v, ' ', 1, 1) - 1);
--读取第二个字段的内容
v_service_competition := substr(out_v,
instr(out_v, ' ', 1, 1) + 1,
instr(out_v, ' ', 1, 2) - instr(out_v, ' ', 1, 1)-1);
--读取第三个字段的内容
v_cu_market_share := substr(out_v,
instr(out_v, ' ', 1, 2) + 1,
instr(out_v, ' ', 1, 3) - instr(out_v, ' ', 1, 2)-1);
--读取第四个字段的内容
v_ct_market_share := substr(out_v,
instr(out_v, ' ', 1, 3) + 1,
instr(out_v, ' ', 1, 4) - instr(out_v, ' ', 1, 3)-1);
--读取第五个字段的内容
v_cm_market_share := substr(out_v,
instr(out_v, ' ', 1, 4) + 1,
instr(out_v, ' ', 1, 5) - instr(out_v, ' ', 1, 4)-1);
--读取地六个字段的内容
v_other_market_share := substr(out_v,
instr(out_v, ' ', 1, 5) + 1,
length(out_v) - instr(out_v, ' ', 1, 5));
--插入 表 i_exch_info
insert into i_exch_info values(v_id,v_service_competition,v_cu_market_share,v_ct_market_share,v_cm_market_share,v_other_market_share);
dbms_output.put_line(out_v);
END LOOP;
--关闭文件
utl_file.fclose(v_file);
END p_xlstooracle;
oracle数据库读取操作系统的物理文件-转载,待完善的更多相关文章
- 12 oracle 数据库坏块--物理坏块-ORA-01578/ORA-01110
oracle 数据库坏块--物理坏块 数据坏块的类型物理坏块:通常是由于硬件损坏如磁盘异常导致.内存有问题.存储链有问题. IO有问题.文件系统有问题. Oracle本身的问题等逻辑坏块:可能都是软件 ...
- Oracle数据库克隆后temp文件因路径变化无法找到问题
Oracle数据库克隆后temp文件因路径变化无法找到出现如下报错Errors in filexxxx.trc:ORA-01157: cannot identify/lock data file xx ...
- 转载-Oracle 数据库导入导出 dmp文件
首先询问对方数据库的表空间名称和大小,然后在你的oracle中建立相应表空间,最后使用命令导入.导出数据.补充:1.要新建一个数据库: Oracle数据导入导出imp/exp就相当于oracle数据还 ...
- Oracle 数据库导入导出 dmp文件
转自: http://hi.baidu.com/ooofcu/blog/item/ec5d1f9580d41f007af48077.html 首先询问对方数据库的表空间名称和大小,然后在你的oracl ...
- Oracle数据库表空间 数据文件 用户 以及表创建的SQL代码
--create the tablespace CREATE SMALLFILE TABLESPACE "TABLE_CONTAINER" --创建表空间 DATAFILE 'E: ...
- oracle数据库导入导出dmp文件oracle命令
在控制台下导入imp scott/密码@orcl file=文件路径 full=Y 导出 整个数据库TEST 用户名system 密码1234 exp system/1234@TEST file=文 ...
- Oracle 数据库执行 操作系统的命令
1 Linux环境下面的处理 在sqlplus 里面 添加一个 ! 就可以执行 但是 因为Oracle 必须为非root用户 所以很多命令可能无法执行: 2. Windows 环境执行命令的方式 是在 ...
- 导入导出oracle数据库表的dmp文件
1.先进入命令行,点击开始,输入cmd 2.导入的命令是:imp 用户名/密码@网络服务名 file=xxx.dmp full=y; 3.导出的命令是:exp 用户名/密码@网络服务名 file=xx ...
- oracle查看表空间物理文件的名称,路径及大小
select tablespace_name, file_id,file_name,round(bytes/(1024*1024),0) total_space from dba_data_files ...
随机推荐
- 修改uCOS_II以实现“优先级+时间片”联合调度
本文在uCOS II上增加时间片任务调度的的原理: 对设置为同优先级的任务使用时间片调度,不同优先级任务仍然使用uCOS II的优先级调度策略.在同优先级任务的时间片调度中,所有任务暂时时间片长度固定 ...
- 重构第四天 : 用多态替换条件语句(if else & switch)
面相对象的一个核心基础就是多态,当你要根据对象类型的不同要做不同的操作的时候,一个好的办法就是采用多态,把算法封装到子类当中去. 重构前代码: public abstract class Custom ...
- [LeetCode#84]Largest Rectangle in Histogram
Problem: Given n non-negative integers representing the histogram's bar height where the width of ea ...
- ServiceStack.Redis之IRedisClient
事实上,IRedisClient里面的很多方法,其实就是Redis的命令名.只要对Redis的命令熟悉一点就能够非常快速地理解和掌握这些方法,趁着现在对Redis不是特别了解,我也对着命令来了解一下这 ...
- 数学(概率)CodeForces 626D:Jerry's Protest
Andrew and Jerry are playing a game with Harry as the scorekeeper. The game consists of three rounds ...
- gcc编译器参数使用及解决
gcc -c CStringAndPointer.c -o CStringAndPointer.o 执行时出现问题: ./CStringAndPointer.o bash: ./CStringAndP ...
- php正则常用表达式
[]里的.相当于\. 涉及到换行一般考虑用模式修正符s s (PCRE_DOTALL) 如果设置了这个修饰符, 模式中的点号元字符匹配所有字符, 包含换行符. 如果没有这个 修饰符, 点号不匹配换行符 ...
- Front-End Engineer 技术栈
自己根据各种招聘网站上的技术要求做的,希望自己能成为这样的人.
- main函数的3个参数
最早是在MCU中使用C语言,MCU中的main函数没有参数. 后来在PC上面使用C语言,一般教程都写的是main函数有2个参数: int main(int argc, const char **arg ...
- C# Timer执行方法
private void button3_Click(object sender, EventArgs e) { System.Timers.Timer t = new System.Timers.T ...