이전에, 나는 내 자신의 사용자 정의 ConnectionPool 클래스를했다 ,,,하지만 난 대신 .. 단순히 내 연결 문자열에 포함하여 연결 풀링 기능을 사용할 수 있다는 것을 발견 (http://www.codeproject.com/Articles/17768/ADO-NET-Connection-Pooling-at-a-Glance)C++ ADO 연결 풀링
그래서 여기 내 간단한 테스트 코드는 지금까지 있습니다 :
int main(int argc, char** argv) {
::CoInitiazlie();
char* ConnString = "Provider=ASEOLEDB; Data Source=xxx; Min Pool Size=5;";
_ConnectionPtr MyPointer = NULL;
MyPointer.CreateInstance(__uuidof(Connection));
MyPointer -> Open(ConnString, "myusername", "mypassword", adConnectUnspecified);
//BREAK POINT....
MyPointer -> Close();
::CoUninitialize();
}
그래서 링크의 설명에 따르면이 ,,이 때문에 "최소 풀에 (.. 열고 중단 점에서 수영장 내부 5 개 연결을 유지해야 크기 = 5 "연결 문자열 안의 옵션).
내가 세션 관리자를 열 때그러나, 만 나는 단지 1 개 연결 열리고 ..
나는 내가 잘못 .. 연결 문자열에 정확히 어떻게 설정 않는 최소 풀 크기가를 만들 무슨 짓을했는지 확실하지 않다 연결 풀 ??
감사
내가 잘못하지 않는 한 연결 풀 크기의 바닥이됩니다. 처음에는 아닙니다. 당신은 12 개 정도의 연계로 그것을 시험해 보았습니까? 그리고 * 5 * 아래에 그것들을지지하고 결과를 수영장에서 결정 했습니까? 그리고 실수로 인증 된 * 활성 * 연결을보고 있습니까? – WhozCraig
@WhozCraig 실제로 십여 가지 정도의 연결 방법을 모르겠습니다. 여러 개의 "_ConnectionPtr"을 만들어야합니까? 또는 같은 포인터에서 여러 개의 "-> Open()"을 호출해야합니까? 죄송합니다. 연결 풀링이 어떻게 작동하는지 조금 혼란 스럽습니다. – user2436815