打印本文 打印本文 关闭窗口 关闭窗口
用sqlldr从mysql导出一个表的数据到oracle
作者:武汉SEO闵涛  文章来源:敏韬网  点击数3290  更新时间:2009/4/22 20:48:42  文章录入:mintao  责任编辑:mintao
,
  B03_10 NUMBER(11,2),
  B03_11 NUMBER(11,2),
  B03_12 NUMBER(11,2),
  CATE_ITEM_CODE VARCHAR2(7),
  PRODUCT_NAME VARCHAR2(60),
  PRODUCT_UNIT VARCHAR2(20)
)
ORGANIZATION external
(
  TYPE oracle_loader
  DEFAULT DIRECTORY UTL_FILE_DIR
  ACCESS PARAMETERS
  (
    RECORDS DELIMITED BY NEWLINE CHARACTERSET ZHS16GBK
    BADFILE ''''UTL_FILE_DIR'''':''''603sub.bad''''
    LOGFILE ''''t.log_xt''''
    READSIZE 1048576
    FIELDS TERMINATED BY 0x''''09'''' LDRTRIM
    REJECT ROWS WITH ALL NULL FIELDS
    (
      UUID CHAR(255)
        TERMINATED BY 0x''''09'''',
      CYC_CODE CHAR(255)
        TERMINATED BY 0x''''09'''',
      B03_05 CHAR(255)
        TERMINATED BY 0x''''09'''',
      B03_06 CHAR(255)
        TERMINATED BY 0x''''09'''',
      B03_07 CHAR(255)
        TERMINATED BY 0x''''09'''',
      B03_08 CHAR(255)
        TERMINATED BY 0x''''09'''',
      B03_09 CHAR(255)
        TERMINATED BY 0x''''09'''',
      B03_10 CHAR(255)
        TERMINATED BY 0x''''09'''',
      B03_11 CHAR(255)
        TERMINATED BY 0x''''09'''',
      B03_12 CHAR(255)
        TERMINATED BY 0x''''09'''',
      CATE_ITEM_CODE CHAR(255)
        TERMINATED BY 0x''''09'''',
      PRODUCT_NAME CHAR(255)
        TERMINATED BY 0x''''09'''',
      PRODUCT_UNIT CHAR(255)
        TERMINATED BY 0x''''09''''
    )
  )
  location
  (
    ''''603sub.txt''''
  )
)REJECT LIMIT UNLIMITED


用于加载内部表的 INSERT 语句:
------------------------------------------------------------------------
INSERT /*+ append */ INTO JB603_JB603_SUB3
(
  UUID,
  CYC_CODE,
  B03_05,
  B03_06,
  B03_07,
  B03_08,
  B03_09,
  B03_10,
  B03_11,
  B03_12,
  CATE_ITEM_CODE,
  PRODUCT_NAME,
  PRODUCT_UNIT
)
SELECT
  UUID,
  CYC_CODE,
  B03_05,
  B03_06,
  B03_07,
  B03_08,
  B03_09,
  B03_10,
  B03_11,
  B03_12,
  CATE_ITEM_CODE,
  PRODUCT_NAME,
  PRODUCT_UNIT
FROM "SYS_SQLLDR_X_EXT_JB603_JB603_S"


用于清除由以前的语句创建的对象的语句:
------------------------------------------------------------------------
DROP TABLE "SYS_SQLLDR_X_EXT_JB603_JB603_S"

从星期日 3月  26 13:11:41 2006开始运行
在星期日 3月  26 13:11:41 2006处运行结束

经过时间为: 00: 00: 00.14
CPU 时间为: 00: 00: 00.04

我摘出建外部表的语句执行
SQL> CREATE TABLE "SYS_SQLLDR_X_EXT_JB603_JB603_S"
  2  (
  3    UUID VARCHAR2(32),
  4    CYC_CODE CHAR(2),
  5    B03_05 NUMBER(11,2),
  6    B03_06 NUMBER(11,2),
  7    B03_07 NUMBER(11,2),
  8    B03_08 NUMBER(11,2),
  9    B03_09 NUMBER(9),
 10    B03_10 NUMBER(11,2),
 11    B03_11 NUMBER(11,2),
 12    B03_12 NUMBER(11,2),
 13    CATE_ITEM_CODE VARCHAR2(7),
 14    PRODUCT_NAME VARCHAR2(60),
 15    PRODUCT_UNIT VARCHAR2(20)
 16  )
 17  ORGANIZATION external
 18  (
 19    TYPE oracle_loader
 20    DEFAULT DIRECTORY UTL_FILE_DIR
 21    ACCESS PARAMETERS
 22    (
 23      RECORDS DELIMITED BY NEWLINE CHARACTERSET ZHS16GBK
 24      BADFILE ''''UTL_FILE_DIR'''':''''603sub.bad''''
 25      LOGFILE ''''t.log_xt''''
 26      READSIZE 1048576
 27      FIELDS TERMINATED BY 0x''''09'''' LDRTRIM
 28    )
 29    location
 30    (
 31      ''''603sub.txt''''
 32    )
 33  )
 34  /

表已创建。
当603sub.txt记录很少的时候,没问题
SQL> select uuid from  SYS_SQLLDR_X_EXT_JB603_JB603_S;

UUID
--------------------------------
00001B3726AD4276AD661393F92F9108


当603sub.txt记录多的时候

SQL> select count(*)from SYS_SQLLDR_X_EXT_JB603_JB603_S;
select count(*)from SYS_SQLLDR_X_EXT_JB603_JB603_S
*
ERROR 位于第 1 行:
ORA-29913: 执行 ODCIEXTTABLEFETCH 调出时出错
ORA-29400: 数据插件错误KUP-04020: found record longer than buffer size
supported, 1048576, in d:tmp603sub.txt
ORA-06512: 在"SYS.ORACLE_LOADER", line 14
ORA-06512: 在line 1


t.log_xt
 LOG file opened at 03/26/06 12:52:33

Field Definitions for table SYS_SQLLDR_X_EXT_JB603_JB603_S
  Record format DELIMITED BY NEWLINE
  Data in file has same endianness as the platform
  Rows with all null fields are accepted

  Fields in Data Source:

    UUID                            CHAR (255)
      Terminated by "09"
      Trim whitespace same as SQL Loader
    CYC_CODE                        CHAR (255)
      Terminated by "09"
      Trim whitespace same as SQL Loader
    B03_05                          CHAR (255)
      Terminated by "09"
      Trim whitespace same as SQL Loader
    B03_06                          CHAR (255)
      Terminated by "09"
      Trim whitespace same as SQL Loader
    B03_07                          CHAR (255)
      Terminated by "09"
      Trim whitespace same as SQL Loader
    B03_08                          CHAR (255)
      Terminated by "09"
      Trim whitespace same as SQL Loader
    B03_09                          CHAR (255)
      Terminated by "09"
      Trim whitespace same as SQL Loader
    B03_10                          CHAR (255)
      Terminated by "09"
      Trim whitespace same as SQL Loader
    B03_11                          CHAR (255)
      Terminated by "09"
      Trim whitespace same as

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口