프로그램 테스트 중 "invalid variant type conversioin"오류가 발생했는데..
별로 뾰족한 방법이 없어서 고수님들의 조언을 좀 듣고자...
환경은 Windows2000 Server에 Delphi 5.0을 사용하여 구현하였는데...
MIDAS를 이용한 3-Tier환경의 프로그램입니다.
클라이언트측 WebConnection의 Active를 True로 하면 "invalid variant type conversioin"라는 오류 메시지가 나옵니다.
Connect가 되었다가 안 되었다가 하니 정말 미치겠씀다.
혹시 이런 메시지를 보았거나 질의가 온 적이 있나여??
급히 해결해야 할 문제인데.. 뭘 어떻게 체크해봐야 될지.. 조언을 좀 부탁드립니다.
그리고, 또 한가지 질문이 있습니다.
클라이언트에서 요청이 들어오면 애플리케이션서버가 사용하는 Memory가 계속해서 증가하나요?
애플리케이션 서버의 실행화일크기는 780KB정도인데...
20~30명이 접속을하니 190M정도 사용하더군요..
무슨 문제가 있는 것입니까??
그리고, BDE의 메모리관련 설정은 아래와 같이 해보았는데 메모리 부족현상이 생깁니다.
* MaxBufSize = 65535
* MaxFileHandles = 4096
* MemSize = 128
* SharedMemSize = 32768
* SharedMemLocation = 0x5BDE
다른 설정값이 있으면 알켜주시면 감사하겠습니다.
현재 메모리 512M이고 가상메모리 768MB입니다.
여러 고수님들 도움이 될 만한 조언 부탁드리겠습니다.
전 DATA간의 형식 불일치로 인한 invalid variant type conversion 오
류는 봤어요.
두번째 답변은 BDE에서 메모리 세팅은 서버 OS에 따라 틀립니다.
그거는 BDE 레퍼런스나 HELP보시면 있구요.
다음 메모리가 급증하는 이유는 당연히 연결 세션마다 엄청난 작업(^^;)을
하시고 나서 완전히 메모리에서 해제 되지 않았기 때문입니다. 현재 작업자가
정말로 30명에 있다면 그정도 메모리 증가는 있을 수 있습니다. DB 프로그램
자체가 그렇게 만드셔서 그럴 겁니다. 서버의 DATA TABLE을 왕창 읽거나...
하지만 이대로 있으면 서버 작동 후 멀지 않아서 공포의 알 수 없는 오류
Access violation 오류가 뜹니다. 그러면서 서버 모듈이 서버에서 따운 돼죠.
연결되어서 연결이 해제 되는 시점까지 면밀히 체크하시고, 특히 연결이 해제 되는 시점에 해당 연결자의 모든 자원을 반환하도록 해야 됩니다.
이는 연결자가 서버모듈에 접속할 적에 서버모듈의 Static 방식과 Dynamic방식 2가지로 나눠서 생각 할 수 있는데. 이 처음 부분이 마지막 해제 부분과 밀접한 관계를 가지고 있습니다. 그 부분을 중점적으로 보시면 해결이 될 것 입
니다. 그럼...