импорт данных CSV в Oracle (попытка Apex / SQL Developer)
Я изначально спросил об этом у суперпользователя, но кто-то посоветовал мне перепостить здесь.
Я использую последние версии APEX (4.1.1) и Oracle (11.2.0.3).
я загружаю данные CSV в набор таблиц. Я пробовал это и сталкиваюсь с некоторыми проблемами, которых я раньше не видел.
в качестве примера я попытался импортировать данные в эту таблицу:
CREATE TABLE SW_ENGINEER
(ENGINEER_NO VARCHAR2(10),
ENGINEER_NAME VARCHAR2(50),
CONSTRAINT SW_ENG_PK PRIMARY KEY (ENGINEER_NO))
он терпит неудачу в этом упрощенном подмножестве данных:
call log no,contract_no,call date,agreed date,agreed time,actual arrive,engineer no,engineer name,equipment code,cust desc,eng desc
a,b,c,22-Mar-06,1,23/03/2006 15:00,654,Flynn Hobbs,d,e,f
a,b,c,22-Mar-06,2,23/03/2006 15:00,654,Flynn Hobbs,d,e,f
a,b,c,19-Mar-06,3,19/03/2006 09:15,351,Rory Juarez,d,e,f
(это не то же самое с большим набором данных) Я не могу загрузить его с помощью APEX или SQL Developer следующим образом:
- APEX: с помощью Apex Data Workshop импортируйте текст, загрузите существующую таблицу, используйте разделенные запятыми, выберите таблицу и файл, установите флажок "строка заголовка", и у нас есть форма отображения столбцов, показывающая правильные данные. Затем установите все столбцы, кроме engineer_no и engineer_name, как " нет " и нажмите Загрузить данные.
Это, кажется, работает, и отображает резюме строка в репозитории загрузки текстовых данных, но при проверке она загрузила 0 строк и 79 не удалось. Нажатие 79 показывает, что все они пострадали от "ORA-01008: не все переменные связаны". Выбранные столбцы выглядят нормально для меня, поэтому мне интересно, включает ли он некоторые другие, несмотря на настройки "нет"?
проблема не возникает, если я редактирую csv, чтобы удалить ненужные столбцы перед загрузкой, но было бы намного проще, если бы я мог использовать столбец отображение.
- SQL Developer: используя мастер импорта данных в SD, я нахожу, что он не будет прогрессировать до сопоставления столбцов, если строка заголовка не проверена (кнопка включена, но не работает - почему бы и нет ?),- но если он проверен (правильно в этом случае), то шаг проверки не выполняется, потому что "столбец таблицы Engineer_no недостаточно велик ...".
я обнаружил, что это можно преодолеть, удалив значения заголовков из столбцов файла csv. Получается, что параметр флажок строка заголовка фактически не вызывает игнорирования строки заголовка вообще, и это значение заголовка "инженер-нет", которое вызывает ошибку. Что мне кажется неправильным. Я использовал оба подхода без проблем в прошлом, и мне интересно, имеет ли недавнее обновление какое-либо отношение к этому.
какие идеи ? Или я упускаю что-то очевидное ?
3 ответов
мой коллега находит это (не совсем удовлетворительное) решение:
если требуемые столбцы находятся в начале, он работает следующим образом:
engineer no,engineer name,equipment code,cust desc,eng desc,call log no,contract_no,call date,agreed date,agreed time,actual arrive
654,Flynn Hobbs,d,e,f,a,b,c,22-Mar-06,1,23/03/2006 15:00
654,Flynn Hobbs,d,e,f,a,b,c,22-Mar-06,2,23/03/2006 15:00
351,Rory Juarez,d,e,f,a,b,c,19-Mar-06,3,19/03/2006 09:15
таким образом, это похоже на ошибку с функциональностью да/нет include в импорте текста APEX?
в CSV
call log no,contract_no,call date,agreed date,agreed time,actual arrive,engineer no,engineer name,equipment code,cust desc,eng desc
a,b,c,22-Mar-06,1,23/03/2006 15:00,654,Flynn Hobbs,d,e,f
a,b,c,22-Mar-06,2,23/03/2006 15:00,654,Flynn Hobbs,d,e,f
a,b,c,19-Mar-06,3,19/03/2006 09:15,351,Rory Juarez,d,e,f
у вас есть 11 столбцов и попробуйте импортировать его в 3 колонки.
- если у вас есть " в CSV вы должны удалить их все.
- вам нужно иметь ровно 11 столбцов в таблице для этого CSV.
- каждый столбец в таблице может иметь правильный тип данных.
- каждый, в CSV является разделителем столбцов.
Я не совсем уверен, почему это не работает для вас. Он отлично работал для меня, используя Apex Data Workshop с копированием и вставкой. (Версия 5.0.4)
конечно, я смог загрузить только два из этих трех результатов, один из них имел повторяющееся значение ID. Но это сработало.
PS: Для большего набора данных, где у вас может быть "," как часть значения столбца для строки, рассмотрите возможность использования опции "необязательно заключено", установив их с двойными кавычками ( " ) во время загрузки волшебник. Он рассматривает все значение как одно значение.