Oracle SQL * Loader:加载记录跨多行传播

时间:2014-12-16 12:07:13

标签: sql oracle sql-loader

Sample Data File : http://tny.cz/6e01a4cc

每条记录;

  1. 以字符串 ***** Message dump *****
  2. 开头
  3. 以字符串结尾 ************************
  4. 包含12列

      - Message ID           : 
      - Correlation ID       : 
      - Enqueue time         : 
      - Priority             : 
      - Expiration           : 
      - Delay                : 
      - Exception destination: 
      - Deq. attempts        : 
      - Sender name          : 
      - Message type   : 
      - Message state  : 
      - Data           : 
    

    我的控制文件看起来像

      LOAD DATA
      INFILE 'address.txt'
      REPLACE CONTINUEIF NEXT PRESERVE (1:24) <> '************************'
      INTO TABLE temp_load1
      (
      COL1  char(4000)
      )
    
  5. 我只能使用上面的控制文件将每条记录存储在一个列中。

    有什么办法可以解析数据文件并在各自的列中加载每个值吗?

    感谢。

1 个答案:

答案 0 :(得分:0)

我认为你需要在sqlldr中查找流记录格式 - 这特别适用于包含多个“行”记录的数据文件。

SQL Loader Documentation

查找“STR”作为示例,也查找逻辑记录部分。