Q&A

  • MySQL과 Delphi의 연동중 transaction 문제 발생
MySQL과 Delphi의 연동중 transaction 문제 발생했습니다..
기본적으로 MySQL은 트랜잭션을 지원하지 않는걸로 알고 있습니다..
그런데 Delphi에서 MySQL에서 못하는 트랜잭션 처리를 대신 처리해줌으로
해서 MySQL과 Delphi의 연동중 트랜잭션 처리가 가능해지는 걸로 들었습니다.

문제는 그걸 어떻게 구현하느냐 하는 것입니다...
델파이에서는 StartTransaction으로 트랜잭션을 시작하고, Commit이나 Rollback으로
트랜잭션을 끝내는데, MySQL과의 연동에서는 작동되지 않습니다...

부디 MySQL에서도 StartTransaction, Commit, Rollback을 사용할 수 있는
방법을 알려주시기 바랍니다...


3  COMMENTS
  • Profile
    백록화 2002.07.03 04:12
    yo`

    안녕하세요!! 백록화 입니다. :)

    날씨도 덥고...흐~

    흠..님이 알고 계신대로 MySQL은 원래 트랜잭션을 지원하지 않져..다만 트랜잭션을 요구하는 사람들이 많아서 다른 방식으로 지원을 하고 있습니다.

    BDB나 InnoDB 가 바로 그것이죠. MySQL의 자체 테이블 타입인 ISAM이나 MyISAM에서는 트랜잭션이 지원하지 않는대신 BDB나 InnoDB로 트랜잭션을 지원하는것입니다.

    MyISAM타입의 테이블로 델파이에서 자체적으로 트랜잭션을 하기에는 너무나 힘듭니다. -,.ㅡ;; (과연 그렇게 할런지 -,.ㅡ;;)

    요즘엔 InnoDB를 많이 사용하는데 이것을 이용하면 그냥 트랜잭션이 됩니다. 다른 RDB에서 트랜잭션을 사용하는것이랑 별 다를게 없습니다.

    이들의 테이블 타입을 사용할려면 윈도플랫폼에서는 바이너리 배포본만 배포함으로 이들 타입이 들어가 컴파일 된 MAX버전을 다운로드 하셔서 설치 하셔야 합니다.

    그리고 약간의 설정으로 사용할수 있습니다.

    리눅스용은 컴파일할때 옵션을 주고 컴팔 해야합니다.


    그럼 이만...후다다다다닥~

    always hard and heavy time, bang your head...
    writtne by crazy 'ripper' rocka

  • Profile
    조길제 2002.07.03 05:36
    답변 감사합니다...
    이제야 지푸라기라도 잡은 심정입니다... ^^;

    근데..
    MyISAM이나 ISAM이 아닌 BDB나 InnoDB 테이블 타입으로 다시 MySQL을
    설치하려고 합니다... 그럴려면 어떤 옵션을 주고 컴파일을 하고 설치를 해야
    하는지 알려 주시면 또 한번 감사드리겠습니다...

    그리고, 지금 MyISAM 테이블 타입으로 데이터베이스에 데이터가 저장이
    되어 있는데, 그 데이터들을 백업했다가 BDB나 InnoDB 테이블 타입으로
    MySQL을 컴파일해서 설치하고 난 후 데이터를 복구하면 예전처럼 데이터를
    에러없이 사용할 수 있는지요???

  • Profile
    백록화 2002.07.03 21:34
    yo`

    안녕하세요!! 백록화 입니다. :)

    음 일단 요즘 추세가 InnoDB를 많이 사용하고 있더군요 BDB보다 좋다구들 하더군요. 리눅스쪽은 잘 몰라서 ^^ 옵션이 어떻게 되는지 모르겟네요.

    http://www.mysql.com/doc/I/n/InnoDB.html
    http://database.sarang.net

    에서 관련자료를 찾아보시길 바랍니다.

    아니면 이미 컴파일된 바이너리 배포본을 받아서 설치하시는것도 괜찮은 방법이죠...물론 MAX버전을 받으셔야 겟지요 :)

    그리고 변환방법은 일단 두가지 방법이 있습니다.

    하나는 alter 문을 사용하여 테이블 타입을 바꾸는 것이고 다른 하나는 insert문을 이용하는것이죠. 전에 alter문으로 바꿔볼려고 해봤는데 잘 안돼더군요 -,.ㅡ;; 그냥 테이블을 만들어서 insert문을 사용하는게 편할꺼 같군요.

    http://www.mysql.com/doc/S/E/SEC445.html

    그럼 이만...

    always hard and heavy time, bang your head...
    written by crazy 'ripper' rocka.

    • Ditto
    • 2002.07.03 03:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 델파이탐크루즈
      2002.07.03 03:34
      바코드 출력 프로그램은 외부컴포넌트를 이용하셔야 됩니다. 저도 사또껄로 짜서 출력을 해놨는데... ...
    • 조길제
    • 2002.07.03 02:45
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 백록화
      2002.07.03 04:12
      yo` 안녕하세요!! 백록화 입니다. :) 날씨도 덥고...흐~ 흠..님이 알고 계신대로 MySQL은 원래 ...
    • 조길제
      2002.07.03 05:36
      답변 감사합니다... 이제야 지푸라기라도 잡은 심정입니다... ^^; 근데.. MyISAM이나 ISAM이 아닌 BDB...
    • 백록화
      2002.07.03 21:34
      yo` 안녕하세요!! 백록화 입니다. :) 음 일단 요즘 추세가 InnoDB를 많이 사용하고 있더군요 BDB보...
    • 변선희
    • 2002.07.03 02:21
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.07.03 02:34
      안녕하세요. 최용일입니다. 아마 이전에 입력된 SQL문장이 남아 있어서 그런거 같은데... with문 맨 ...
    • 변선희
      2002.07.03 02:41
      먼저 감사합니다~. 디비그리드에서 수정 못하게 하려고 Read only를 True로 해놨거든요.. RequestL...
    • 최용일
      2002.07.03 05:44
      안녕하세요. 최용일입니다. 디비그리드에서 입력, 수정못하게 하실려면  Options속성에 있는 ...
    • 김영철
      2002.07.03 02:33
      요놈을 추가해주세요.. sql.clear; {  괄호 부분은 필요없어요.. }    &nbs...
    • 권혁규
    • 2002.07.03 01:44
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 권혁규
      2002.07.03 03:11
      감사 합니다.. 즐코 하세요.. 저도 열심히 답변 찾아 올려 보겠습니다..
    • 최용일
      2002.07.03 01:56
      안녕하세요. 최용일입니다. Image1.Width나 Height는 Image1이란 컴포넌트의 크기를 설정하는 것이구요....
    • garibi
      2002.07.03 01:55
      image1.picture.bitmap.width := 256; image1.picture.bitmap.height := 128; 이렇게 바꿔서함해보세여..
    • 전정기
    • 2002.07.03 00:49
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 우소
      2002.07.03 01:47
      함수 중에.. filesetDate 화일 날짜를 얻는거구요 fileGetDate  화일 날짜를 바꾸는 함수 있니...
    • 우소
    • 2002.07.03 00:46
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.07.03 02:05
      안녕하세요. 최용일입니다. 아주 드물겠지만 생길수 있는 문제네요... GetShortPathName란 API함수를...
    • 주관석
    • 2002.07.03 00:44
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박준열
      2002.07.03 01:40
      애석하게 되었슴돠. 저도 그런적이 있어요. 그러나 파일 모두가 망가진것은 아니거든요. 마음이 진정...
    • 주관석
      2002.07.03 03:01
      네 감사합니다. ㅎㅎ 전 그냥 프로잭트화일 메모장으로 열어 보았더니 프로젝트 소스에 오타가 하...
    • 이승근
    • 2002.07.03 00:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장태원
      2002.07.03 20:56
      이미지도 하나의 객체입니다.(TImage) nil 을 사용하세요.
    • 김기현
    • 2002.07.03 00:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.07.03 02:12
      안녕하세요. 최용일입니다. 파워포인트는 Presentations객체가지고 파일작업을 하셔야 해요... var ...
    • 손상엽
    • 2002.07.02 23:49
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장태원
      2002.07.03 21:02
      이 소스에서는 엑셀의 영역을 잡고, 값을 대입하는군요. 저는 엑셀의 좌표에 바로 값을 대입하는데요 ...
    • 왕초보
    • 2002.07.02 23:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2002.07.02 23:44
      안녕하세요 하얀까마귀 입니다. 나올때 마다 해주세요... 물론 말씀대로 if 문 쓰는게 좀 그렇긴 하...
    • 주관석
    • 2002.07.02 23:02
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 장용호
      2002.07.03 02:54
      안녕하세요. 아마도 주소를 보여 줄려고 하는거 같은데요. sido, gugun, Dong 3개 필드를 중간에 빈칸 하...
    • 최석기
      2002.07.02 23:27
      델파이 문제가 아닌거 같은데요.. Access에서 문자열 붙이는 기능은 '+'를 사용하는거 같네요. '||'...
    • 하얀까마귀
      2002.07.02 23:24
      쿼리에 || 없어요... 아마 or 을 쓰신건가요??   아.. 우편번호 스트링을 연결하신거군요....
    • 조성택
    • 2002.07.02 22:43
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.07.02 23:05
      안녕하세요. 최용일입니다. DB설정때문에 그럴수도 있겠지만 폼의 생성 순서를 먼저 살펴보셔야 겠네요....
    • KDDG_ZZOM
      2002.07.02 22:09
      디렉토리가 있는지 확인해보셨나요?
    • 정민섭
      2002.07.02 22:45
      디렉토리는 존재하는 것을 체크했습니다.. 계속 Rewrite(F) 에서 파일을 찾을 수가 없다고 에러가 나는데...
    • KDDG_ZZOM
      2002.07.02 23:51
      제가 했던 방법입니다... procedure TForm1.Button3Click(Sender: TObject); var   MyFile&nb...
    • 김명찬
    • 2002.07.02 21:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.07.02 22:59
      안녕하세요. 최용일입니다. RenameFile은 16bit기반함수 아닌데요... 방금 테스트해보았는데 XP, 20...
    • 주관석
    • 2002.07.02 20:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2002.07.02 20:58
      쿼리의 텍스트가 잘못된것같은데... 실행시키기 전에 쿼리문을 만들걸 확인해보세요... query1.sql.text...
    • 곽동엽
    • 2002.07.02 20:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.07.02 23:08
      안녕하세요. 최용일입니다. 마우스이벤트(OnMouseXXXX)에서 하시면 되겠네요... OnMouseDown에서 초...