안녕하세요?
ADO를 사용했고, Office 2000에 깔리는 Access 를 사용하여 MDB 를 만들었습니다.
델 7, xp home edition 에서 작업 했습니다.
작업한 컴에서 잘동작합니다.
러시아 윈도우 2000 에서 잘 동작 합니다.
러시아 윈도우 XP 에서만 사용하려 하면 insert 가 안됩니다.
스레드 CREATE 할때 ADO CONNECTION 만들어 사용하구요,
스레드 안에서 ADOQUERY 만들어 사용 하게 만들었습니다.
SELECT, DELETE 는 되는데, INSERT만 안됩니다..
try
insert
except
여기로 옵니다..... insert 시 러시아 윈도 xp 에서만.
end;
어떻게 해결해야 할지 너무 난감합니다..
경험해 보신분 도움 부탁 드립니다..
러시아 출장와서 해결이 되어야 귀국할 상황입니다...
고수님들.. 경험하신분들 도움 부탁 드립니다...
//////insert 문을 아래와 같이 썼습니다.
WDATETIME := W_DATETIME := Formatdatetime('dd-MM-yyyy hh:nn:ss',now());
//WDATETIME <- STRING TYPE
WITH ADOQRY DO
BEGIN
CLOSE;
SQL.CLEAR;
SQL.Add('INSERT INTO [TSMS_RCV_MOBILE_UIM] '+
' ([MSG_ID],[RCV_DATE],[SENDER_NUM],[RCV_MSG],[F_DATE], [STATUS]) '+
' VALUES '+
' ( '+
' :SMSG_ID, :SRCV_DATE, :SSENDER_NUM, :SRCV_MSG, '''+W_DATETIME+''', :SSTATUS) '+
' ');
Parameters.ParamByName( 'SMSG_ID' ).Value := MDB_RCV_MSG_ID;
Parameters.ParamByName( 'SRCV_DATE' ).Value := MDB_RCV_DATE;
Parameters.ParamByName( 'SSENDER_NUM' ).Value := MDB_SENDER_NUM;
Parameters.ParamByName( 'SRCV_MSG' ).Value := UTF8DECODE(pchar(MDB_MSG));
Parameters.ParamByName( 'SSTATUS' ).Value := DB_STATE;
SELF.mConn.BeginTrans;
ExecSQL;
SELF.mConn.CommitTrans;
END;// SQL
EXCEPT
on E: Exception do begin
if SELF.mConn.InTransaction then
begin
SELF.mConn.RollbackTrans;
end;
result := false;
exit;
end;
END; //TRY END SQL
델파이 7을 깔고 하면 된다는 것과... 다른 xp에서는 된다는 점 등등을 보건데..소스 오류는 아니실 듯하고요..
우선 여기서 저걸로 검색해보세요....