나는 Advantage Database PHP Extension에서 버그가되는 것처럼 보입니다. (저도 압니다 ...). 나는 그것을 버그로보고했지만, 아직 아무것도 듣지 못했고, 그래서 나는 너희들에 의해 그것을 실행할 것이라고 생각했다.Advantage Database의 버그입니까?
작업 코드 :
for ($i = 0; $i < 100; $i++)
{
$connection = ads_connect('DataDirectory=\\some\path\;ServerTypes=2;RightsChecking=Off;TrimTrailingSpaces=true;CommType=TCP_IP;', '', '');
$results = ads_do($connection , 'SELECT TOP 1 * FROM projects');
ads_close($connection);
}
이것은 단지, 100 번을 통해 루프 DB를 연결, 쿼리 및 연결 해제를 실행합니다.
비 작동 코드 :
for ($i = 0; $i < 100; $i++)
{
$connection = ads_connect('DataDirectory=\\some\path\;ServerTypes=2;RightsChecking=Off;TrimTrailingSpaces=true;CommType=TCP_IP;', '', '');
$results = ads_do($connection , 'SELECT TOP 1 * FROM projects');
$results = ads_do($connection , 'SELECT TOP 1 * FROM projects');
ads_close($connection);
}
주의 두 번째 쿼리 실행? 최대 장점 데이터베이스 서버 연결 초과 :이 루프는 오류
오류 6303로 51주기 (DB 서버는 50 개 개의 동시 연결에 각 응용 프로그램을 제한)에 실패합니다. 가 문제가 해결 않습니다, 그러나,
for ($i = 0; $i < 100; $i++) { $connection = ads_connect('DataDirectory=\\some\path\;ServerTypes=2;RightsChecking=Off;TrimTrailingSpaces=true;CommType=TCP_IP;', '', ''); $results = ads_do($connection , 'SELECT TOP 1 * FROM projects'); ads_free_result($results); $results = ads_do($connection , 'SELECT TOP 1 * FROM projects'); ads_free_result($results); ads_close($connection); }
이, 그리고 두 쿼리는 여전히 성공적으로 정확하게 실행! :
나는 몇 가지 다른 일없이 성공이 등을 시도했습니다
for ($i = 0; $i < 100; $i++)
{
$connection = ads_connect('DataDirectory=\\some\path\;ServerTypes=2;RightsChecking=Off;TrimTrailingSpaces=true;CommType=TCP_IP;', '', '');
$results = ads_do($connection , 'SELECT TOP 1 * FROM projects');
ads_close($connection);
$results = ads_do($connection , 'SELECT TOP 1 * FROM projects');
ads_close($connection);
}
이 모든 것이 저에게 이상한 것처럼 보입니다 ... 어떤 아이디어입니까?
편집 : 내가 PHP 5.2.5에서 오전 ADS 8.1
이 정보는 오류의 의미와 더 많은 연결을 허용하는 방법을 보여줍니다. 그러나 다시 연결하기 전에 모든 연결을 닫을 때 최대 연결 오류가 발생하는 이유는 설명하지 않습니다. – KOGI
그것은 연구 개발 부분에서 볼 수 있습니다. 연결에서 여러 문을 열 때 참조 계산에 문제가있는 것 같습니다. – LanceSc
R & D는 이것이 여러 문장이 열리는 연결의 참조 계산에 버그가 있음을 확인했습니다. 다음 서비스 릴리스에서 수정 될 예정입니다. – LanceSc