我对数据库和编程很新颖。我不太擅长电脑术语,所以坚持我。我有一个csv
文件,我试图加载到我的Oracle
数据库中。它包含帐户信息,如姓名,电话号码,服务日期等我已安装Oracle 11g Release 2
。这是我做了什么至今一步一步..在Oracle中使用SQL LOADER导入CSV文件
1)冉SQL装载机
我创建了一个新的表,我需要的列。例如
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)它促使我创建表。接下来,我为记事本中的数据创建了一个控制文件,该文件位于与我的结算表相同的目录中,并且具有.ctl扩展名。 GIS.csv是文件IM从得到的数据,也是在同一个目录,并把它命名为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号”, “地铁ID”, “SERV HOUSE”, “SERV STREET”,“SERV ^”
我不明白为什么它要起一个错误。我的帐单。 CTL具有负载。
LOAD data
infile GIS.csv
into table Billing
fields terminated by ','
(TAP_ID, ACCT_NUM, MTR_ID, SERV_HOUSE, SERV_STREET, SERV_TOWN, BIL_NAME, MTR_DATE_SET, BIL_PHONE, MTR_SIZE, BILL_CYCLE, MTR_RMT_ID)
有什么想法?
我已将最新的错误添加到原始问题中,因为它不是答案。错误的答案很快就会被删除。另外,我更新了我的答案(见下文)。 – Codo
只是一点。您的ctl文件不正确。一个csv文件有可选的'''列外壳,所以你还需要使用''''也可以使用'''''' – Ben