gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 18:12:24 31 4
gpt4 key购买 nike

我对数据库和编程很陌生。我不太擅长电脑行话,所以坚持我。我有一个 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)

有什么想法吗?

最佳答案

Sqlldr 想在控制文件所在的目录下写一个日志文件。但显然不能。它可能没有所需的权限。

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

touch Billing.log

它将显示您是否具有权限。

更新

正确的命令行是:
sqlldr myusername/mypassword control=Billing.ctl

关于sql - 在Oracle中使用SQL LOADER导入CSV文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10839856/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com