zoukankan      html  css  js  c++  java
  • 创建外部表步骤

    引用博文:https://blog.csdn.net/zhou920786312/article/details/72799697?utm_source=itdadao&utm_medium=referral

    外部表 
    1外部表是可以读取存储在操作系统下,文件系统中的数据的一种只读表 
    2外部表的数据可以存储在oracle数据库外部的操作系统文件中,oracle数据库可以读取这些数据,但是不能修改。 
    3使用oracle的外部表可以很容易的将一个格式化的文本文件虚拟成数据库的表,并且可以使用select语句去访问。

    创建外部表 
    案例

    create table student5( 
    id NUMBER(5), 
    name VARCHAR(12), 
    sex VARCHAR(8), 
    age NUMBER(3), 
    grand NUMBER(1) 
    )organization external( 
    type oracle_loader 
    default directory external_student 
    access parameters( 
    fields terminated by ‘,’ ) 
    location (‘student.csv’) 
    );

    organization external:用来设置外部表的选项 
    type :指定访问外部表数据文件时,所使用的访问区段程序。这个区段程序可以将文件格式转换为服务器可以接受的格式 
    oracle_loader:访问区段程序,默认使用这个 
    default directory:指定访问目录,告诉数据库外部文件存放的位置 
    external_student:目录名 
    access parameters:指定区段程序访问外部数据文件时,进行转换的参数设置。 
    fields terminated by:制定分割符 
    location :指定访问的文件

    创建外部表步骤 
    1创建外部文件 
    这里写图片描述
    2创建文件目录 
    create directory external_student as ‘F: estexternalTable’; 
    这里写图片描述 
    3创建表

    create table student5(
         id              NUMBER(5),
         name            VARCHAR(12),
         sex             VARCHAR(8),
         age             NUMBER(3),
         grand           NUMBER(1)
    )organization external(
                type oracle_loader
                default directory external_student
                access parameters(
                fields terminated by ',' )    
                location ('student.csv')
    );
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    这里写图片描述 
    4验证

    问题
    
    SQL> select * from student5;
    select * from student5
    *
    第 1 行出现错误:
    ORA-29913: 执行 ODCIEXTTABLEFETCH 调出时出错
    ORA-30653: 已达到拒绝限制值
    
    解决
    建表最后添加 reject limit unlimited;
     create table student5(
          id              NUMBER(5),
          name            VARCHAR(12),
          sex             VARCHAR(8),
          age             NUMBER(3),
          grand           NUMBER(1)
     )organization external(
                 type oracle_loader
                 default directory external_student
                 access parameters(
                        fields terminated by ',' )
                 location ('student.csv')
     )
     reject limit unlimited;
    验证
    SQL> select * from student5;
    
    未选定行
    解决:表的数据结构不对
    student.csv修改为这样
    1,lia,男,16,1001
    2,lib,男,17,1001
    3,lic,男,18,1001
    4,lid,男,19,1001
    5,lie,男,20,1001
    
    验证
    SQL> select * from student5;
    未选定行
    
    解决:
    因为 grand NUMBER(1),所以我们将1001改为1
    
    验证
     select * from student5;
    
        ID NAME         SEX             AGE      GRAND
    ------ ------------ -------- ---------- ----------
         1 lia          男               16          1
         2 lib          男               17          1
         3 lic          男               18          1
         4 lid          男               19          1
         5 lie          男               20          1
  • 相关阅读:
    JDBC性能优化点
    56992 vuser_init.c(12): Error: Socket descriptor not found.
    ubuntu用apt安装apache2时,出现E:未发现软件包 apache2
    loadrunner --global schedule设置
    loadrunner ---模拟多IP登录
    Loadrunner ---集合点设置
    LoadRunner --HTML/URL录制方式的选择规则
    LoadRunner ---参数化数据源(oracle,mssql,excel)
    LoadRunner ---协议分析
    LoadRunner ---思考时间设置
  • 原文地址:https://www.cnblogs.com/hand-lzs/p/9550780.html
Copyright © 2011-2022 走看看