【问题标题】:external table data error in toad for oracletoad for oracle 中的外部表数据错误
【发布时间】:2018-10-10 04:15:55
【问题描述】:

我试图在 toad 中创建一个外部表,但得到如下所示的错误:

这是我的外部表代码,它已成功执行,但是当我单击 toad 中的数据选项卡时,它会出现错误,如上面的屏幕截图所示。

CREATE TABLE emp_load
  (          country_id      CHAR(5),
             country_name    VARCHAR(50),
             region_id   number
  )
ORGANIZATION EXTERNAL
  (TYPE ORACLE_LOADER
  DEFAULT DIRECTORY OUTER
  ACCESS PARAMETERS
    (RECORDS DELIMITED BY NEWLINE
     FIELDS (country_id      CHAR(2),
             country_name    VARCHAR(40),
             region_id   number

           )
   )
  LOCATION ('externalfile1.csv')
 );

【问题讨论】:

  • 请不要粘贴图片。单击“剪贴板”并将错误消息粘贴为文本。
  • 我认为你需要给“数字”字段一个大小。
  • SQL*Loader 的数据类型语法是here。它没有number。
  • 另外,char 不推荐用于表列(尽管 SQL*Loader 的 char 很好)。

标签: oracle external-tables


【解决方案1】:

这是一个实际可行的示例。看看有没有帮助。

我的 CSV 文件:

HR,Croatia,385
SLO,Slovenia,386

创建外部表 - 不要忘记

  • 创建目录(作为 Oracle 对象,使用 SYS 帐户)
  • 将对该目录的读取(和写入?)权限授予将要使用该目录的用户

.

SQL> create table emp_load
  2    (country_id      varchar2(5),
  3     country_name    varchar2(50),
  4     region_id       varchar2(5)
  5    )
  6  organization external
  7    (type oracle_loader
  8     default directory ext_dir
  9     access parameters
 10       (records delimited by newline
 11        fields terminated by ','
 12          (country_id      char(5),
 13           country_name    char(50),
 14           region_id       char(5)
 15          )
 16       )
 17     location ('externalfile1.txt')
 18    )
 19  reject limit unlimited;

Table created.

SQL> select * from emp_load;

COUNT COUNTRY_NAME                                       REGIO
----- -------------------------------------------------- -----
HR    Croatia                                            385
SLO   Slovenia                                           384

SQL>

【讨论】:

  • 文件类型不应该是位置('externalfile1.txt')中的“csv”
  • 没关系,@zain。我更喜欢TXT,因为我不必更改文件扩展名并回答烦人的“你确定......?”创建文件时的问题。重要的是内容,而不是扩展。可能是“.xyz”或“.littlefoot”,它仍然可以工作。
  • 它现在运行良好......数据类型是问题,感谢您的指导,我必须输入文件“externalfile1.csv”的正确扩展名
  • 不客气。当然,如果您的文件名具有不同的扩展名,则必须使用它。如果有帮助,我很高兴。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-31
  • 1970-01-01
  • 2023-03-04
相关资源
最近更新 更多