2016-06-13 31 views
0

外部テーブルを作成しようとしていますが、エラーが発生しています。外部テーブルの選択時にORAエラーが発生する

は、ここで私は外部ディレクトリへの読み取り/書き込み権限を持っている

CREATE TABLE "emp_ext" 
(
    "EMPNO" NUMBER(6), 
    "ENAME" VARCHAR2(20), 
    "JOB" VARCHAR2(25), 
    "MGR" NUMBER(6), 
    "HIRE_DATE" DATE, 
    "SAL" NUMBER(8,2), 
    "COMM" NUMBER(2,2), 
    "DEPTNO" NUMBER(4) 
) 
ORGANIZATION external 
(
    TYPE oracle_loader 
    DEFAULT DIRECTORY EXTDIR 
    ACCESS PARAMETERS 
(
    RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII 
    BADFILE 'EXTDIR':'employees.bad' 
    LOGFILE 'employees.log_xt' 
    READSIZE 1048576 
    FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' LDRTRIM 
    REJECT ROWS WITH ALL NULL FIELDS 
    (
    "EMPLOYEE_ID" CHAR(255) 
    TERMINATED BY "," OPTIONALLY ENCLOSED BY '"', 
    "ENAME" CHAR(255) 
    TERMINATED BY "," OPTIONALLY ENCLOSED BY '"', 
    "JOB" CHAR(255) 
    TERMINATED BY "," OPTIONALLY ENCLOSED BY '"', 
    "HIRE_DATE" CHAR(255) 
    TERMINATED BY "," OPTIONALLY ENCLOSED BY '"', 
    "SAL" CHAR(255) 
    TERMINATED BY "," OPTIONALLY ENCLOSED BY '"', 
    "COMM" CHAR(255) 
    TERMINATED BY "," OPTIONALLY ENCLOSED BY '"', 
    "DEPTNO" CHAR(255) 
    TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' 
) 
) 
    location 
    (
    'datafile.txt' 
) 
) 

、外部表を作成するために使用するコードです。

テーブルが作成されました。私は「emp_ext」SELECT * FROMをしようとすると、私はエラーCREATE TABLEに指定された最初のフィールドがEMPNOある

SQL> select * from "emp_ext"; 
select * from "emp_ext" 
* 
ERROR at line 1: 
ORA-29913: error in executing ODCIEXTTABLEOPEN callout 
ORA-29400: data cartridge error 
KUP-04043: table column not found in external source: EMPNO 
ORA-06512: at "SYS.ORACLE_LOADER", line 19 
+0

エラーメッセージがきれいに見えますか?このdatefile.txtのサンプルはどこですか?テーブル定義にEMPNOがありますが、ファイルの行/列定義にEMPLOYEE_IDがあります。 – OldProgrammer

答えて

0

の下に取得していますが、レコード定義に指定された最初のフィールドがEMPLOYEE_IDです。これらは一致する必要があります。どちらか一方を選んでください。

幸運のベスト。

+0

ありがとうございました。問題が解決しました。 –

0

私はあなたが

MGRデータから来ている
"EMPNO" CHAR(255) 

ため

"EMPLOYEE_ID" CHAR(255) 

を変更する必要がありますね?

+1

ありがとうございました。問題が解決しました。 –

+0

@SathishKumarよろしくお願いします。質問に答えを記入してください。 – vercelli

関連する問題