2017-12-29 34 views
0

내가 가지고이 오류, 내가 IBM 데이터 스튜디오에 의해, 리눅스에 dB로 Windows에서 DB2의 DB에서 데이터를 전송하려고 할 때 :전송 데이터를 리눅스로

CALL SYSPROC.ADMIN_CMD('LOAD FROM Path\file.dat OF IXF REPLACE INTO 
Schema.Table(ID, SID, REFERENCE, UCI, STATE, DEBTORNAME, DEBTORADDR,DEBTORZIP, DEBTORCITY, DEBTORPROVINCE, DEBTORCOUNTRY, DEBTORIBAN, 
DEBTORBIC,CREDITORNAME, CREDITORADDR, CREDITORZIP, CREDITORCITY, CREDITORPROVINCE,CREDITORCOUNTRY, CREDITORIBAN, CREDITORBIC, ORGANIZATIONID, 
SEQUENCETYPE, ROLE,LASTDATEOFCOLL, LASTTYPEOFCOLL, CURRENTSCHEME, SIGNATURECITY, SIGNATUREDATE, REFDEBTNAME, REFCREDNAME, COMMENTS, SOURCE, 
LASTMODIFIEDBY, LASTMODIFIED, LASTSTATE, MAXAMOUNT, REQUESTCOUNT, MAXREQUESTS, VALIDFROM, VALIDTO, MANDATETYPE, HASAMENDMENT, PREVIOUSMANDATEID, 
ORIREFERENCE, ORIUCI, ORICREDITORNAME, ORIDEBTORIBAN, ORIDEBTORBIC, EXTERNALID, EXTERNALREFERENCE, CUSTSPEC1, CUSTSPEC2, CUSTSPEC3, CREATIONTIME)' 
) 

그리고이 오류가 있었다 :

를 (필자는 DB2 예약어 목록을 볼 때, 그것은 단지 COMMENT이 아닌 복수형이 포함되어 있지만)
An unexpected token "COMMENTS" was found following ",". Expected tokens may include: "<identifier>".. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.19.5 

답변

1

COMMENTS 분명히 예약 된 단어입니다. 따라서 그것을 탈출하기 위해서는 따옴표로 묶어야합니다.

+0

올바른 결과를 얻으려면 큰 따옴표 문자를 사용하지 말고, 대신 COMMENTS 토큰의 양쪽에 두 개의 작은 따옴표 문자를 사용하십시오. admin_cmd에 대한 인수 내에서 단일 큰 따옴표 문자를 사용하면 SQL0206이 될 수 있습니다. – mao

+0

@mao 저는 DB2 프로그래머가 아니지만 [여기] (https://www.ibm.com/support/knowledgecenter/en/SSEPEK_10.0.0/sqlref/src/tpc/db2z_reservedwords.html)에서 읽습니다. ** 인용 부호 (")가 분리 식별자를 시작하고 끝내는 이스케이프 문자 인 경우 SELECT 문에"ALL "이 열 이름으로 나타날 수 있습니다 ** ** – Barmar

+0

인접한 두 개의 작은 따옴표는 작은 따옴표로 묶이지 않습니다. – Barmar