Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[10690] Re:Re:[질문]인디스레드에서 트랜잭션을 사용하려 합니다.
델짱 [] 1198 읽음    2006-05-02 17:49
답글 감사 드립니다.^^;
아래 처럼 구현 했는데 ....

try
      session := TSession.Create(nil);
      session.SessionName := 'session' +  IntToStr(Random(1000));;

      QRtmp := TQuery.Create(nil);
      QRtmp.SessionName :=  session.SessionName;
      QRtmp.DatabaseName := Database1.Databasename;
      session.Active := True;
      try
        Database1.StartTransaction;
        with QRtmp,QRtmp.SQL do begin
           Close;Clear;
           Add('insert into tmtable values(''aaa'',''bbbb'')' );
           EXECSQL;
          ...
          ...
        end;
        Database1.Commit;
      Except
        ON E:Exception do begin
          Database1.Rollback;
        end;
      end;
finally
      QRtmp.free;
      session.Free;
end;
EXECSQL 실행 부분에서 "UnKnown database : test " 라는 메세지가 나옵니다.
분명 QRtmp.DatabaseName 의 값은 Database1.Databasename 로 할당
되었고, Database1.Open 은  TForm1.CReate 부에서 Open 된 상태입니다.
뭐가 잘 못 된건지 종일 뒤져 보아도 해결이 되지 않네요~~ ^.^

그럼 수고 하세요~.~




꿈의대화 님이 쓰신 글 :
: 안녕하세요. ^^;
:
: 일단 Database는 하나만 생성하셔서 사용하셔도 되구요.
:
: 여러 Client에서 각각 Tquery를 생성하여 처리되어진다면
:
: 생성된 TQuery별로 Session을 따로 생성하셔서 작업하시면 됩니다.
:
: 그럼 수고하세요.^^;
:
: 델짱 님이 쓰신 글 :
: : 안녕하세요.^_^
: :
: : 인디서버 소켓, Database(BDE) 를 두고 클라이언트에서 보내온 string를
: : 파싱해서 ms-sql database 에 Insert , Update, delete 역활을 하는 소켓서버를
: : 만들려고 합니다.
: :
: : 클라인트 접속시 마다 Tqeury 를 생성해서 각 클라이언트의 요청을 처리합니다
: :
: : 그런데 한가지 염려 스러운게 있는데 Database는 1개 인데
: :
: : 클라이언트가 동시 접속해서 각각 동시 트랜잭션을 요구하면 충돌이 발생 될 것 같은데 ..
: :
: : 그렇다고 해서 DB insert, delete , update 시 동기화를 시키면 작업속도가
: : 많이 떨어질것 같고 ,
: :
: : 클라이언트 연결시 마다 새로운 DATABASE를 생성 연결하면 database connect시에
: : 시간이 많이 걸릴것 같고
: :
: : 좋은 해결 방법이 없을까요?
: :
: : database pooling 이 혹시 해결 방법이 되나요?  
: : 혹시 이것이 해결 방법이라면 DB Pooling 을 어떤식으로 해야 되는지
: : 조금의 힌트 부탁 드립니다.
: :
: : 그럼 행복한 주말 보네세요 ^.~

+ -

관련 글 리스트
10683 [질문]인디스레드에서 트랜잭션을 사용하려 합니다. 델짱 1389 2006/04/28
10687     Re:[질문]인디스레드에서 트랜잭션을 사용하려 합니다. 꿈의대화 1199 2006/05/01
10690         Re:Re:[질문]인디스레드에서 트랜잭션을 사용하려 합니다. 델짱 1198 2006/05/02
10694             Re:Re:Re:[질문]인디스레드에서 트랜잭션을 사용하려 합니다. 꿈의대화 1215 2006/05/03
10695                 Re:Re:Re:Re:[질문]인디스레드에서 트랜잭션을 사용하려 합니다. 꿈의대화 1330 2006/05/03
10696                     ^|^ 델짱 1329 2006/05/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.