2013-01-17 2 views
0

Jet.OLEDB.4.0과 함께 mdb 파일을 사용하는 VB6 응용 프로그램이 있습니다. 응용 프로그램은 열린 레코드 세트로 30 분 정도 유휴 상태로 설정하지 않으면 데이터 저장 및 검색 작업을 잘 수행합니다.비 활동으로 인해 VB6에서 데이터 손실이 발생합니다. Jet.OLEDB.4.0

잠시 동안 응용 프로그램을 사용하지 않도록 설정 한 다음 응용 프로그램을 다시 사용하려고하면 레코드가 손실됩니다. 유휴 기간 동안 무언가, 데이터 또는 DLL이 램에서 자동으로 빠져 나와 빨리 다시로드 할 수 없으므로 프로그램을 다시 사용하기 시작할 때 모든 항목이 조정되고 모든 기록이 그대로 유지됩니다.

Windows가 RAM을 움직일 때를 알 수 있다면 이동하기 바로 전에 SQL 업데이트 명령을 사용하여 레코드 세트를 디스크로 업데이트하고 프로그램을 생각 나게하는 boolen 변수를 설정하여 문제를 해결할 수 있습니다 응용 프로그램 사용자가 프로그램에 반환 할 때 연결 및 레코드 집합을 다시 엽니 다.

Windows가 RAM으로 이동하거나 이동해야 할 때를 알 수있는 방법을 모르겠습니다. Windows가 RAM에서 물건을 옮기고 RAM에서 물건을 옮기게 될 때를 알 수있는 방법이 있습니까?

+0

여기에서 무슨 일이 벌어 질지 알기가 어렵습니다. 변경된 연결 레코드 세트는 잠금 시간 초과가 만료되기 전에 업데이트해야합니다. 이는 이러한 문제의 원인 중 하나 일 수 있습니다. – Bob77

답변

0

Windows가 RAM을 벗어나 RAM을 이동하려고 할 때를 알 수있는 방법이 있습니까?

VB6에는 실제로 없습니다. 타이머를 사용하여 주기적으로 연결을 테스트하려고합니다. 10 초 간격 같이 시스템에 많은 스트레스를주지는 않습니다. 당신은 그 시간에 다른 것이 일어나고 있다면 닫을 지, 언제 닫을지를 테스트 할 수 있습니다. OS 로그를 확인하십시오. 느린 타이머 확인으로 절대로 닫히지 않을 수도 있으며, 이는 사용자의 솔루션 일 수 있습니다.