2010-12-05 7 views
1

Я пытаюсь загрузить данные в таблицу с помощью SQL ldr-SQLLDR Ошибка: Объект не существует при попытке вставить данные в базу данных

sqlldr userid=aa2012/[email protected] control=simple.ctl 

simple.ctl: -

LOAD DATA 
INFILE '../data/simple.csv' 
BADFILE '../data/simple.bad' 
DISCARDFILE '../data/simple.dsc' 
INTO TABLE SIMPLE_TAB 
replace 
fields terminated by ',' optionally enclosed by '"' 
(
    ID INTEGER 

EXTERNAL, 
    NAME CHAR(32) 
) 

simple.csv имеет два столбца: 1st-number 2nd Name.

create table Simple_Tab (
    id number primary key, 
    name varchar2(32) 
) 

Но я получаю следующее сообщение об ошибке -

SQL*Loader: Release 10.2.0.1.0 - Production on Sat Dec 4 22:43:55 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL*Loader-941: Error during describe of table SIMPLE_TAB ORA-04043: object SIMPLE_TAB does not exist

Я попробовал -

  1. тщательно подбирая где я путей файлов хранить файлы.
  2. Удаление и воссоздание таблицы SIMPLE_TAB
  3. Осторожно, используя верхний регистр во всех командах

, но никто не помог.

+0

Если вы отправляете код или XML, ** пожалуйста ** выделите эти строки в текстовом редакторе и нажмите кнопку «код» (101 010) на панели инструментов редактора, чтобы красиво отформатировать и выделить синтаксис! – 2010-12-05 08:40:11

ответ

1

Возможно, вы связались с другой базой данных (или пользователем), когда вы запустили инструкцию create table.

Что select user from dual; показать вам, при запуске в SQL * Plus (например, сразу после/перед запуском create table)

+0

Я вижу таблицу, добавленную на левой панели sqldeveloper. Поэтому я уверен, что таблица создана. – Radz 2010-12-06 00:15:22

0

Если бы точно такой же вопрос сегодня. В моем случае это было то, что я думал имя таблицы было tblname, когда на самом деле это было "tblname" (с кавычками).

Я также работаю с разработчиком SQL, а Browser Schema Browser показал, что имя таблицы было tblname, что меня обмануло. Только когда я использовал утилиту drag-and-drop для создания команды select из этой таблицы, я видел, что в имени таблицы действительно содержатся кавычки.

0

Еще одна причина этого может возникнуть, если вы не квалифицируете имя таблицы в файле управления с именем схемы.

Итак, если ваша таблица находится в схеме scott, и имя вашей таблицы не соответствует этому критерию, тогда Sqlldr будет жаловаться, если вы используете пользователя входа, кроме scott.

Смежные вопросы