저는 몇 년 동안 프로그래밍을 해왔고 데이터 액세스에 사용되는 기본 DLL을 가지고 있습니다. 최근에 일부 데이터 마이닝이나 사이트 스크래핑이 있었던 것처럼 보입니다. SQL 데이터베이스 연결에는 문제가 없지만 as/400에 액세스하는 많은 프로그램은 연결을 열어 놓고 오랜 기간 동안 유휴 상태로 유지합니다. 시각. 기본 데이터 액세스 dll을 살펴보고 각 함수가 끝난 후 연결을 종료하는 코드를 추가했지만 도움이되지 않았습니다. db2/as/400에 대한 경험이 거의 없습니다 ... 코드에서 열린/유휴 연결을 모두 닫으려면 어떻게해야합니까?db2400/as/400에 대한 연결을 닫지 않는 프로그램
0
A
답변
1
연결 풀을 사용하는 경우 설계대로 작동합니다.
연결이 실제로 열려 있습니까? 그걸 어떻게 결정하니?
IBM i에서 QZDASOINIT 작업에 의해 보유 된 잠금을보고 있으면 설계도입니다. 시스템은 처음 사용한 후에 테이블 (? 서)을 단단히 닫습니다. 동일한 작업에 의해 다시 사용될 때, 시스템은 단지 그것을 가상 닫을 것입니다; 다시 사용할 때 더 빠른 응답을 제공하기 위해
독점 액세스가 필요한 작업을 시도하면 시스템은 의사 닫힌 커서를 완전히 닫습니다.
데이터베이스 연결로 작업 할 때는 항상 '사용'을 사용해야합니다. 이렇게하면 연결이 제대로 닫히고 물건을 처리 할 수 있습니다. https://stackoverflow.com/questions/5243398/will-a-using-block-close-a-database-connection – VDWWD
우리는 'using'을 사용하고 있지만 실제로는 문제의 일부일 수 있습니다./400 - 그게 가능하니? – deebs