|
1.
SQL Profiler를 이용해서 해당 쿼리가 실제로 실행되는지, 실행 시간은 어느 정도인지 한 번 확인해보시면 좋을 듯 하네요.
2.
Insert 쿼리라면 ADOConnection 객체의 Execute 메쏘드를 사용해서 실행시켜보시면 어떨까 합니다.
제 경우에는 웹프로그래밍이나 Win32 쪽이나 Insert, Update 쿼리를 실행시킬 때는 ADOConnection의 Execute를 이용해왔고, 3년 넘게 별다른 문제 없이 사용해 왔습니다. 한번 바꿔서 테스트해보시면 해결의 실마리를 찾으실 수 있지 않을까 싶습니다.
3.
실제 실행시키는 쿼리를 추적하셔서 문제가 없는지 확인해 보시는 게 좋을 듯 합니다.
보통 이유를 알 수 없는 오동작의 경우에는 거의 실수인 경우가 많은 것 같습니다. DB단에서는 주로 쿼리를 잘못 입력해서 생기는 경우가 많을 겁니다. DB Server까지 쿼리가 제대로 전송되었다면 SQL Profiler를 통해 trace가 가능할 겁니다.
두서없이 적어봤습니다.
도움 되셨으면 좋겠습니다.
ADOConnection1.Execute
fpdh 님이 쓰신 글 :
: 제목이 이상하네요...
:
: ADOQuery를 이용해서 MS SQL 서버에 데이터를 저장하는 프로그램이 있습니다.
:
: 초기엔 잘 되었던듯 한데, 요즘 들어 종종 Insert Query가 되지 않는 경우가 발생하는듯 합니다.
:
: 분명 프로그램은 정상적으로 돌았는데, 데이터가 존재하지 않네요.
:
: 서버가 트랜잭션을 쌩까버렸는데, ADOQuery는 에러를 날리지도 않다보니, Roll Back 명령은 동작도 하지 않았더군요.
:
: SQL 서버쪽에서 계속 에러가 발생하던가, 지체현상으로 데이터가 저장되지 않은듯 합니다. 결과적으로 트랜잭션 로그만 산더미처럼 쌓이고 있네요...
:
: 이런 저런 설정을 바꿔봤지만, 딱히 대책이 없어 보입니다.
:
: 여러 고수님들은 이런 경우에 어떻게 대처하시는지요?
:
: 제가 FA쪽이다 보니, 이런건 잘 몰라서요~
|