현재 3 TIER 로 작업 중입니다.
미들웨어는 DBExpress 컴퍼넌트로 활용중이고요 Client와는 socket 서버를 이용해 사용중입니다.
db 는 ms-sql 2000 입니다.
서버에는 TSqlConnection , TSqlQuery , DataSetProvider 이용하고
Client 는 ClientDataSet , Datasource , Grid 를 이용하고 잇는데...
문제는 db 에서 던져주는 오류 메세지가 한글일 경우 리턴을 못하고 있습니다.
에러메세지는 ClientDataSet 의 OnReconcileError 이벤트에서 처리하고 있고
procedure TForm1.cds1ReconcileError(DataSet: TCustomClientDataSet;
E: EReconcileError; UpdateKind: TUpdateKind;
var Action: TReconcileAction);
var
S: String;
begin
case UpdateKind of
ukModify: S := '수정';
ukInsert: S := '입력';
ukDelete: S := '삭제';
end;
raise Exception.Create(PChar(Format('%s 되었습니다.'+#13#13+'%s', [S, E.Message])));
end;
이렇게 받고 있는데..E.Message 에서 한글을 받지 못하고 있습니다..
db셋팅도 한글로 되어 있구요.....미치겠네요...사용자 오류는 어떻게 만들어 보겠는데...db단에서 던져주는
오류메세지를 받지 못해서 디버깅을 못하고 있습니다...
Sql Server Error : 요렇게만 던져주는 메세지가 있는데..뒤에 분명히 한글 메세지가 있음에도 받지를 못하니...쩝..
위환경에 Connection 부분만 bde를 이용한 TDatabase 로 바꾸면 한글 메세지 반환이 잘됩니다.
분명 컴퍼넌트 셋팅문제인것 같은데...아시는분 답변 부탁 드려요...
거의 한달째..오류 못잡고 있네요... 치명적인 부분인데..
|