Я новичок в базах данных и программировании. Я не очень хорошо разбираюсь в компьютерном жаргоне, так что держись за меня. У меня есть файл csv
, который я пытаюсь загрузить в свою базу данных Oracle
. Он содержит информацию об учетной записи, такую как имя, номер телефона, даты обслуживания и т. д. Я установил Oracle 11g Release 2
. Вот что я сделал шаг за шагом.
1) Запустил 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) Мне подсказало, что Таблица создана. Затем я создал контрольный файл для данных в блокноте, который находился в том же каталоге, что и моя таблица биллинга, и имел расширение .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"."ИДЕНТИФИКАТОР СЛУЖБЫ", "НОМЕР СЧЕТА", "ИДЕНТИФИКАТОР MTR", "ДОМ СЛУЖБЫ", "УЛИЦА СЛУЖБЫ", "СЛУЖБА ^'
Я не понимаю, почему возникает эта ошибка. Мой 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)
Есть мысли?