импорт данных 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 колонки.

  1. если у вас есть " в CSV вы должны удалить их все.
  2. вам нужно иметь ровно 11 столбцов в таблице для этого CSV.
  3. каждый столбец в таблице может иметь правильный тип данных.
  4. каждый, в CSV является разделителем столбцов.

Я не совсем уверен, почему это не работает для вас. Он отлично работал для меня, используя Apex Data Workshop с копированием и вставкой. (Версия 5.0.4)

конечно, я смог загрузить только два из этих трех результатов, один из них имел повторяющееся значение ID. Но это сработало.

PS: Для большего набора данных, где у вас может быть "," как часть значения столбца для строки, рассмотрите возможность использования опции "необязательно заключено", установив их с двойными кавычками ( " ) во время загрузки волшебник. Он рассматривает все значение как одно значение.