我对数据库和编程很陌生。我不太擅长计算机术语,所以坚持我。我有一个csv
文件正在尝试加载到我的Oracle
数据库中。它包含我已安装的帐户信息,例如姓名、电话号码、服务日期等Oracle 11g Release 2
。这是我到目前为止一步一步做的。
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)它提示我创建了表。接下来,我为记事本中的数据创建了一个控制文件,该文件与我的 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 ','
(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)
有什么想法吗?