DB를 연동하여 dw(데이터윈도우)를 활용한 프로그래밍에서 DB 연결 후 네트워크 장애 등으로 연결이 끊어진다면 보통의 경우 어플리케이션을 재시작해야 합니다. 만약 dw 컨트롤에 데이터를 입력 중이었다면 그 데이터는 모두 사라집니다. 이럴 경우 네트워크 장애를 고려한 dw 프로그래밍이 필요합니다.



일반적인 dw 프로그래밍

1.DB 연결 -> 2.SetTransObject -> 3.Retrieve -> 4.데이터 변경 -> 5.데이터 저장 -> 6.DB 연결 해제

 

1.어플리케이션이나 윈도우의 open 이벤트에 다음과 같은 DB 연결 스크립트를 작성합니다.

sqlca.DBMS = ‘’

sqlca.ServerName = ‘’

sqlca.LogId = ‘’

sqlca.LogPass = ‘’

sqlca.AutoCommit = False

 

connect using sqlca;

 

if sqlca.sqlcode = -1 then

   messagebox(‘알림’, ‘DB 연결 에러’)

end if

 

2.윈도우의 open 이벤트에 다음 스크립트를 작성합니다.

dw_1.setTransObject(sqlca)

 

3.윈도우 조회버튼의 clicked 이벤트에 다음 스크립트를 작성합니다.

dw_1.retrieve()

 

4.dw_1 컨트롤에서 데이터를 변경합니다.

 

5.윈도우 저장버튼의 clicked 이벤트에 다음 스크립트를 작성합니다.

dw_1.acceptText()

if dw_1.update() = 1 then

   commit using sqlca;

else

   rollback using sqlca;

end if

 

6.어플리케이션이나 윈도우의 close 이벤트에 다음 스크립트를 작성합니다.

disconnect using sqlca;

 

일반적으로 위와 같이 작성합니다. 그러나 일시적인 네트워크 장애가 발생할 경우 어플리케이션을 재시작하거나 윈도우를 다시 열어야 문제가 해결됩니다. 물론 작성 중이던 데이터는 모두 사라집니다.



네트워크 장애 dw 프로그래밍

 

 

 

이 글은 회원 전용입니다.

https://all4museum.tistory.com/entry/%ED%9A%8C%EC%9B%90%EC%A0%9C-%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%8B%9C%EC%9E%91?category=892450

 

프리미엄 회원 모집

 

all4museum.tistory.com

 

Posted by A4M
,