자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi FDBatchMove 질문입니다.
2021.03.24 19:33
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
XE8사용
with FDBatchMove1 do begin
Mode := dmAppend;
//이 옵션을 선택하면 대상 ID 열을 삽입/업데이트할 수 있습니다.
options := [poIdentityInsert];
end;
FDQuery1.close;
FDQuery1.SQL.Clear;
FDQuery1.SQL.add('select * from source');
FDQuery2.close;
FDQuery2.SQL.Clear;
FDQuery2.SQL.add('select * from target');
FDBatchMoveDataSetReader1.Optimise := false;
FDBatchMoveDataSetWriter1.Optimise := false;
FDBatchMove1.Execute;
target에는 primary key 가 설정되어져 있습니다.
TFDBatchMove을 이용해서 target 테이블의 자료를 update/insert 하려고 합니다
위 작업을 실행하면 아래와 같은 에러가 납니다..
undefined source field or expression for destination field [%s]
샘플소스에도 해당옵션에 대한 내용은 없어서 질문 드립니다.
타 옵션은 문제 없습니다.
감사합니다.
Delphi FDBatchMove 질문입니다.
2021.03.24 19:33
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
XE8사용
with FDBatchMove1 do begin
Mode := dmAppend;
//이 옵션을 선택하면 대상 ID 열을 삽입/업데이트할 수 있습니다.
options := [poIdentityInsert];
end;
FDQuery1.close;
FDQuery1.SQL.Clear;
FDQuery1.SQL.add('select * from source');
FDQuery2.close;
FDQuery2.SQL.Clear;
FDQuery2.SQL.add('select * from target');
FDBatchMoveDataSetReader1.Optimise := false;
FDBatchMoveDataSetWriter1.Optimise := false;
FDBatchMove1.Execute;
target에는 primary key 가 설정되어져 있습니다.
TFDBatchMove을 이용해서 target 테이블의 자료를 update/insert 하려고 합니다
위 작업을 실행하면 아래와 같은 에러가 납니다..
undefined source field or expression for destination field [%s]
샘플소스에도 해당옵션에 대한 내용은 없어서 질문 드립니다.
타 옵션은 문제 없습니다.
감사합니다.
소스. 타겟 필드중에서 이름과 타입이 안 맞는 경우가 있는것 같습니다. 필드명이 다르다면 mapping 속성을 이용하시면 됩니다.
Append 모드를 사용하시면 처음에 batchMove를 사용하셨을떄는 상관없지만 다음에 또 실행하면 프라이머리 키 오류가 발생할 수 있습니다. (option 에서 poCreateDest 가 true인지 확인하십시오)
Use the Mappings property to setup source and destination columns mapping and to get the current source record values.