免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2703 | 回复: 5
打印 上一主题 下一主题

oracle中如何运用sqlldr命令实现文本的导入 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-12-23 14:01 |只看该作者 |倒序浏览
文本文件字段:a,b,c
oracle表字段:cola,colb,colc.cold
两者的对应关系:a  cola;b  colb;  c  cold

请问各位我应该如何实现这个呢?

建表的时候如果将表字段与文本字段一一对应,可以顺利导入,但是如果不对应的话,老是出错!

谢谢!

论坛徽章:
0
2 [报告]
发表于 2003-12-23 15:06 |只看该作者

oracle中如何运用sqlldr命令实现文本的导入

load data          
  infile 'c:\sqlldr.txt'     
  append into table test_sqlldr_direct    
  fields terminated by ',' 
    (cola,colb,cold)   


是否允许colc为空,不允许你打算怎么处理?

论坛徽章:
0
3 [报告]
发表于 2003-12-24 08:22 |只看该作者

oracle中如何运用sqlldr命令实现文本的导入

可以为空。

不为空的话我可以将colc设为常值!

如果这样我怎么做啊!

论坛徽章:
0
4 [报告]
发表于 2003-12-24 09:47 |只看该作者

oracle中如何运用sqlldr命令实现文本的导入

就最普通的控制文件导入不就成了?
我怎没看出有任何一点特殊的地方?

有问题,请把生成的log文件给出来!

论坛徽章:
0
5 [报告]
发表于 2003-12-24 10:34 |只看该作者

oracle中如何运用sqlldr命令实现文本的导入

文本200305_27.txt:
wddm        jydm        sxxj        rq
32080100        31010502        2500        2003-1-6
32080100        31010604        7500        2003-1-6
32080100        31010800        700        2003-1-21
32080100        31010801        150        2003-1-21
32080111        31010300        45        2003-1-1
32080111        31010300        20        2003-1-2
。。。
wddm对应custcd
jydm对应itemcd
sxxj对应itemqty
rq对应billdate

表结构
CREATE TABLE TSL12_SLBILL_back27
(
  COMPCD      CHAR(2)                           NOT NULL,
  WHCD        CHAR(2)                           NOT NULL,
  SALENO      NUMBER                            NOT NULL,
  PCNO        NUMBER,
  SLBILLID    CHAR(                           NOT NULL,
  LINENO      NUMBER                            NOT NULL,
  ITEMTYP     CHAR(2),
  ATTRCD      CHAR(5),
  CUSTCD      CHAR(,
  ITEMCD      CHAR(,
  SALEUNIT    VARCHAR2(4),
  COSTPRICE   NUMBER(15,6),
  BASEPRICE   NUMBER(15,6),
  ITEMPRICE   NUMBER(15,6),
  GRSPRICE    NUMBER(15,6),
  TAXRATE     NUMBER(6,2),
  ITEMQTY     NUMBER(12,2),
  ITEMAMT     NUMBER(12,2),
  ITEMTAX     NUMBER(12,2),
  ITEMTTL     NUMBER(12,2),
  STOREUNIT   VARCHAR2(4),
  STOREQTY    NUMBER(12,2),
  STOREPRICE  NUMBER(15,6),
  BILLDATE    DATE,
  DLVDATE     DATE,
  SALEREP     CHAR(3),
  PAYID       CHAR(2),
  CFFLG       CHAR(1)                           DEFAULT 'N'                   NOT NULL,
  ACCFLG      CHAR(1)                           DEFAULT 'Y'                   NOT NULL,
  CFOPRID     CHAR(3),
  CFDATE      DATE,
  USEFLG      CHAR(1)                           DEFAULT '0'                   NOT NULL,
  OPRID       CHAR(3)                           NOT NULL,
  PTIMES      NUMBER                            DEFAULT 0                     NOT NULL,
  BYWHFLG     CHAR(1)                           DEFAULT 'N'                   NOT NULL,
  WHTRANSFLG  CHAR(1)                           DEFAULT 'Y'                   NOT NULL,
  STTRANSFLG  CHAR(1)                           DEFAULT 'Y'                   NOT NULL,
  INVOICEFLG  CHAR(1)                           DEFAULT 'N'                   NOT NULL,
  PAYFLG      CHAR(1)                           DEFAULT 'N'                   NOT NULL,
  DLTFLG      CHAR(1)                           DEFAULT 'N'                   NOT NULL,
  CTRTCD      CHAR(                           DEFAULT '00000000'            NOT NULL,
  ARRFLG      CHAR(1)                           DEFAULT 'N'
)

控制文件:
load data
infile '200305_27.txt'
append into table tsl12_oldxs_27
fields terminated by X'09'
(custcd,itemcd,itemqty,billdate)

论坛徽章:
0
6 [报告]
发表于 2003-12-24 16:10 |只看该作者

oracle中如何运用sqlldr命令实现文本的导入

你那么多 not  null 的字段 ,不插入数据有default 值?
你到底出什么错? log 信息,? 你自己看了 sqlldr 的 log信息吗??
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP