2010-12-06 52 views
0

我试图加载一个.xml数据文件到oracle的最后几个小时没有成功。SQL加载程序错误350

======这里是我的.CTL文件====

LOAD DATA 
INFILE output.xml "STR '</article>'" 
BADFILE output.BAD 
TRUNCATE 
INTO TABLE FERNANDO.ARTICLES 
TRAILING NULLCOLS 
(
dummy filler terminated by "article>", 
articlesTitle VARCHAR(500) enclosed by "<title>" and "</title>", 
articlesAuthor CHAR(100) enclosed by "<author>" and "</author>", 
articlesText CHAR(50000) enclosed by "<text>" and "</text>", 
articlesClient CHAR(50) enclosed by "<client>" and "</client>", 
articlesCharset CHAR(50) enclosed by "<charset>" and "</charset>", 
articlesHeaders CHAR(5000) enclosed by "<headers>" and "</headers>", 
articlesTransferEncoding CHAR(50) enclosed by "{Transfer-encoding=" and ", ", 
articlesCacheControl CHAR(50) enclosed by "Cache-control=" and ", ", 
articlesContentType CHAR(500) enclosed by "Content-type=" and ", ", 
articlesPostedDate CHAR(50) enclosed by "Date=" and ", ", 
articlesExpireDate CHAR(50) enclosed by "Expires=" and ", ", 
articlesSetCookie CHAR(500) enclosed by "Set-cookie=" and ", ", 
articlesDomain CHAR(50) enclosed by "Domain=" and ", ", 
articlesServer CHAR(200) enclosed by "Server=" and ", ", 
articlesPragma CHAR(200) enclosed by "Pragma=" and ", " 
) 

不过,我有在每隔一行以下错误:

Record 10: Rejected - Error on table FERNANDO.ARTICLES. 
ORA-01461: can bind a LONG value only for insert into a LONG column 

项目表是如下所示:

CREATE TABLE ARTICLES (
    articlesTitle  VARCHAR2(255) NOT NULL , 
    articlesAuthor  VARCHAR2(64) NULL , 
    articlesText   VARCHAR2(1024) NULL , 
    articlesClient  CHAR(18) NULL , 
    articlesCharset  CHAR(18) NULL , 
    articlesHeaders  CHAR(255) NULL , 
    articlesTransferEncoding VARCHAR2(12) NULL , 
    articlesCacheControl VARCHAR2(12) NULL , 
    articlesContentType VARCHAR2(12) NULL , 
    articlesPostedDate DATE NULL , 
    articlesExpireDate DATE NULL , 
    articlesSetCookie VARCHAR2(128) NULL , 
    articlesDomain  VARCHAR2(64) NULL , 
    articlesServer  VARCHAR2(24) NULL , 
    articlesPragma  VARCHAR2(128) NULL , 
    urlFrontierURL  VARCHAR2(128) NULL , 
CONSTRAINT XPK_ARTICLES PRIMARY KEY (articlesTitle)) 
TABLESPACE project_tablespace 
STORAGE (INITIAL 8192 NEXT 8192 MINEXTENTS 1 MAXEXTENTS 150000); 
+0

Oracle是否不提供更好的导入XML的方法? – 2010-12-06 00:32:03

回答

1

为什么数据文件列的长度不同于表?

由于您试图插入长度超过4000个字符的字符数据,因此可能会发生此错误

+0

有意义 - 所有应该匹配或比目标短。不是来自Oracle的背景,我认为LONG意味着'64位'。 :) – 2010-12-06 00:34:37