2010-05-17 8 views
1

유닉스 서버의 Informix 데이터베이스와 대화하는 개발자가 .NET C# 응용 프로그램 집합을 상속 받았습니다.ODBC 연결 풀링

데이터베이스 연결 (일회용 패턴/"open late/close early")을 관리하는 일반적인 방법 대신 각 응용 프로그램이로드 될 때 코드가 하나의 ODBC 연결을 여는 것처럼 보입니다.

얼마나 많은 ODBC 연결이 열려 있는지 확인할 수있는 방법이 있습니까?

.NET 모범 사례를 사용하도록 응용 프로그램에서 코드를 리팩터링하는 경우를 만들려고하고 있지만 현재 코드가 작동하기 때문에 저항에 부딪 힙니다.

+0

.NET Framework는 연결을 사용하고 있지 않을 때 연결 풀링을 사용합니다. 그러나 연결은 시동시 열리고 끝나면 닫힙니다. 따라서 풀링은 효과적 일 수 없습니다. – Kangkan

+0

어떤 ODBC 드라이버가 사용됩니까? ODBC 드라이버 유형에 따라 풀링 작동 방식이 다를 수 있습니다. – IMHO

답변

1

ODBC 관리자에서 ODBC 추적을 활성화하고 요청 된 풀링 된 ODBC 연결을 열어야하는 응용 프로그램을 시작할 수 있습니다. ODBC 추적 파일 파일을 편집하여 응용 프로그램이 만든 총 ODBC 연결 수를 제공하기 위해 SQLConnect 또는 SQLDriverConnect 호출 수가 발생할 수 있습니다. SQLDisconnect의 모든 발생은 연결이 닫 혔음을 나타냅니다. 연결에 대한 총 수를 가져와야합니다. ...

+0

감사합니다. 나는이 작업을 수행하여 일부 응용 프로그램을 동시에 열 수 있다는 것을 알게되었습니다. 25 개가 넘는 연결이 내 컴퓨터에서 열려 있습니다. – Beansy

2

"현재 코드가 작동하기 때문에 저항을 만나고 있습니다."

+1 저항을주는 경우.

실제로 필요한 기능이 제대로 지원되고 성능상의 문제가없는 경우 아무 것도 고장 나지 않으며 고장이없는 경우 아무 것도 고쳐야하지 않습니다.

너무 많은 코딩 yuppies가 코드를 구성하는 "더 좋은"방법을 알고 있다고 생각했기 때문에 작업 시스템이 엉망이되었습니다.

기존 시스템에 적용된 코드와 비교하여 코드를 구성하는 방법 (귀하의 "모범 사례")에 이점이 있다고 확신하는 경우 새로운 프로젝트에 적용하여 비즈니스에이를 입증하십시오. 실제로 눈에 띄는 이점이 있다면, 나를 믿어, 사용자는 통지합니다. 존재하지 않는다면, "어떤 방법으로 코드를 작성하는 것이 중요하지"않은지에 대해 매우 중요한 교훈을 얻었습니다.

+0

현재 코드가 작동한다고 할 때이 프로젝트는 진행 중이며 아직 제품이 사용자에게 출시되지 않았습니다. 로드맵의 새로운 기능은 기존 코드베이스를 설계/구현 한 결과로 구현하기가 점점 어려워지고 있습니다. 코드를 리팩토링하려는 이유는이를 유지 보수성을 높이고 장래에 시간과 비용을 절약 할 수 있다고 믿는 한 단위 테스트를 도입하는 것입니다. 호언 장담을 보내 주셔서 감사합니다 ... – Beansy