ORACLE_LOADER加载外部数据
2013-01-07 11:15
344 查看
前面的博客实验做了sqlldr load,那个是导入外部的excel(txt)到oracle数据库,如果不需要导入到oracle,仅仅是访问(当做外部表),可以使用oracle_loader。
1,创建目录directory sys下
SYS@ncbeta>create or replace directory su as 'd:\tbt'; --su是目录名
目录已创建。
上述命令可以看到所有的directory
SYS@ncbeta>drop directory su; --删除directory
目录已删除。
2,目录下有这么一个txt,学生成绩表,这里最后一行詹国坤math没有成绩
3,写sql 发现了terminated错误,可是为什么还给建表了
16:44 更新
确定了,去除后面的--备注就ok
3,表创建了,但是select报错,并且logfile没有生成
使用查询外部表SYS@ncbeta>select owner,table_name,location, DIRECTORY_NAME from dba_external_locations;
在其他用户下创建也不行
SYS@ncbeta>grant read,write on directory su to ncv5;
这种用法是在ncv5下建表用的
授权成功。
16:06 更新
让倪瑞同学测试,她ok了,按照她的说法,她给我排版了
不过这次还好,终于产生了log文件
LOG file opened at 01/07/13 15:53:49
Field Definitions for table EX_STU
Record format DELIMITED BY NEWLINE
Data in file has same endianness as the platform
Rows with all null fields are accepted
Fields in Data Source:
NAME CHAR (255)
Terminated by ","
Trim whitespace same as SQL Loader
SUBJECT CHAR (255)
Terminated by ","
Trim whitespace same as SQL Loader
SCORE CHAR (255)
Terminated by ","
Trim whitespace same as SQL Loader
error processing column NAME in row 5 for datafile d:\xs\student.txt
ORA-12899: value too large for column NAME (actual: 11, maximum: 10)
原来是zhangyuntao占了11个字符,varchar2(10)少了
改成20就行了
1,创建目录directory sys下
SYS@ncbeta>create or replace directory su as 'd:\tbt'; --su是目录名
目录已创建。
SYS@ncbeta>select owner,DIRECTORY_NAME,DIRECTORY_PATH from dba_directories;
上述命令可以看到所有的directory
SYS@ncbeta>drop directory su; --删除directory
目录已删除。
2,目录下有这么一个txt,学生成绩表,这里最后一行詹国坤math没有成绩
3,写sql 发现了terminated错误,可是为什么还给建表了
16:44 更新
确定了,去除后面的--备注就ok
create table ex_stu (name varchar2(10), subject varchar2(10), score number(3)) organization external ( type oracle_loader default directory su access parameters ( records delimited by newline logfile su:'ex_sut_log.log' --这里su:可以不用输入 fields terninated by ',' missing field values are null --詹国坤没有成绩null处理 (name,subject,score)) location ('student.txt')) --这里两个)) parallel reject limit unlimited ;
3,表创建了,但是select报错,并且logfile没有生成
使用查询外部表SYS@ncbeta>select owner,table_name,location, DIRECTORY_NAME from dba_external_locations;
在其他用户下创建也不行
SYS@ncbeta>grant read,write on directory su to ncv5;
这种用法是在ncv5下建表用的
create table ncv5.ex_stu
授权成功。
16:06 更新
让倪瑞同学测试,她ok了,按照她的说法,她给我排版了
create table ex_stu (name varchar2(20), subject varchar2(10), score number(3)) organization external (type oracle_loader default directory su access parameters( records delimited by newline logfile 'ex_sut.log' fields terminated by ',' missing field values are null (name,subject,score)) location ('student.txt'));
不过这次还好,终于产生了log文件
LOG file opened at 01/07/13 15:53:49
Field Definitions for table EX_STU
Record format DELIMITED BY NEWLINE
Data in file has same endianness as the platform
Rows with all null fields are accepted
Fields in Data Source:
NAME CHAR (255)
Terminated by ","
Trim whitespace same as SQL Loader
SUBJECT CHAR (255)
Terminated by ","
Trim whitespace same as SQL Loader
SCORE CHAR (255)
Terminated by ","
Trim whitespace same as SQL Loader
error processing column NAME in row 5 for datafile d:\xs\student.txt
ORA-12899: value too large for column NAME (actual: 11, maximum: 10)
原来是zhangyuntao占了11个字符,varchar2(10)少了
改成20就行了
相关文章推荐
- ORACLE创建外部表及数据加载
- Oracle数据加载之外部表的介绍
- ORACLE sqlload 加载外部数据方法
- Oracle 高速批量数据加载工具sql*loader使用说明
- [bbk0000] 第101集 -第12章 -数据移植 08 本章案例 -> 使用ORACLE_LOADER引擎创建外部表
- oracle 执行一条查询语句,把数据加载到页面或者前台发生的事情
- 浅谈Android数据加载 —— Loader
- [oracle]管理--sqlldr 数据加载的使用
- Qt 使用QPluginLoader 加载外部dll的方法笔记
- <学习笔记>Android使用Loader加载sqlite数据到ListView
- flash AS3 Loader加载外部文件类 及队列加载方法
- Oracle数据加载之sqlldr工具的介绍
- 【Android学习笔记】Activity的小弟--Fragment以及异步加载数据的Loader
- oracle下的sqlldr命令使用方法(sqlldr工具的使用(批量将文本文件数据加载到数据表))
- Oracle 使用SQL Loader 从外部导入数据
- Android进阶——自定义Loader以一种更优美的方式异步加载不同类型的数据(二)
- SQL*Loader加载数据
- sqlldr加载excel数据到oracle中,同时序列自增
- ORACLE-SQLLOAD导入外部数据详解
- SoapUI利用Groovy把外部数据加载到request中