加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Oracle中使用SQL LOADER导入CSV文件

发布时间:2021-03-18 23:04:06 所属栏目:百科 来源:网络整理
导读:我对数据库和编程很陌生.我对电脑术语不是很了解所以坚持下去.我有一个csv文件,我正在尝试加载到我的Oracle数据库中.它包含帐户信息,如姓名,电话号码,服务日期等.我已经安装了Oracle 11g第2版.这是我迄今为止所做的一步一步…… 1)Ran SQL Loader 我创建了

我对数据库和编程很陌生.我对电脑术语不是很了解所以坚持下去.我有一个csv文件,我正在尝试加载到我的Oracle数据库中.它包含帐户信息,如姓名,电话号码,服务日期等.我已经安装了Oracle 11g第2版.这是我迄今为止所做的一步一步……

1)Ran SQL Loader

我创建了一个包含我需要的列的新表.例如

create table Billing ( TAP_ID char(10),ACCT_NUM char(10),MR_ID char(10),HOUSE_NUM char(10),STREET char(30),NAME char(50)

2)它促使我创建了表.接下来,我为记事本中的数据创建了一个控制文件,该文件与我的Billing表位于同一目录中,并具有.ctl扩展名. GIS.csv是我从中获取数据的文件,也在同一目录中,并将其命名为Billing.ctl,看起来像这样.

load data
infile GIS.csv
into table Billing
fields terminated by ','
(TAP_ID,ACCT_NUM,MR_ID,HOUSE_NUM,STREET,NAME)

3)从命令行运行sqlldr以使用控制文件

sqlldr myusername/mypassword  Billing.ctl

这是我被困的地方.我看过我正在做的视频教程,但是我收到了这个错误:

SQL*Loader-522: lfiopn failed for file (Billing.log)

关于我在这里做错了什么的想法?

更新

我只是将文件移动到一个单独的目录中,我想我已经超过了之前的错误.
顺便说一句,是的Billing.ctl和GIS.csv在同一目录中.

但现在我有另一个错误:

'SQL*Loader-350: Syntax error at line 1.

期待关键字LOAD,找到“SERV TAP ID”.
“SERV TAP ID”,“ACCT NUMBER”,“MTR ID”,“SERV HOUSE”,“SERV STREET”,“SERV
??^”

我不明白为什么会出现这个错误.我的billing.ctl有一个负载.

LOAD data
infile GIS.csv
into table Billing
fields terminated by ',MTR_ID,SERV_HOUSE,SERV_STREET,SERV_TOWN,BIL_NAME,MTR_DATE_SET,BIL_PHONE,MTR_SIZE,BILL_CYCLE,MTR_RMT_ID)

有什么想法吗?

解决方法

Sqlldr想要在控制文件所在的同一目录中写入日志文件.但显然它不能.它可能没有所需的权限.

如果您使用的是Linux或Unix,请尝试以与运行sqldr相同的方式运行以下命令:

touch Billing.log

它将显示您是否拥有权限.

更新

正确的命令行是:

sqlldr myusername/mypassword control=Billing.ctl

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读