Porty lokalne ADO

Mamy aplikację, która łączy się z kilkoma setkami baz danych za pomocą ADO. Teraz wiem, że może to nie być najlepszy sposób (nasza baza klientów powiększyła się od czasu napisania aplikacji) i piszemy aplikację od nowa, aby ograniczyć liczbę połączeń. Jednak w międzyczasie, jeśli spojrzę na porty używane na komputerze, na którym działa ta aplikacja, widzę, że port lokalny używany do połączenia ma numery od 2519 do 2726.

Zawsze myślałem, że porty lokalne były w przedziale 32 768, a nie w niższych liczbach. Użycie małych liczb powoduje konflikt z innymi uruchomionymi aplikacjami serwerowymi.

Przykładowe wartości, które widzę na monitorze portu wyjściowego, to:
Protokół: TCP
Port lokalny: 2582
Adres lokalny: 10.1.1.103
Port zdalny: 1433
Adres zdalny: 10.1.1.108

Więc moje pytania są następujące:

Dlaczego obiekt ADO używa niskiego numeru portu?
Czy istnieje sposób, aby rozpocząć od 32 768 lub uniemożliwić korzystanie z portów używanych przez inne serwery?
Widzimy także wiele połączeń z SQL w statusie Czas oczekiwania. Co decyduje o tym, kiedy zostaną one wydane?

Wielkie dzięki, Keith


person Keith Miller    schedule 16.11.2009    source źródło


Odpowiedzi (1)


Port zdalny zależy od bazy danych i protokołu używanego do połączenia. Oracle użyłby klienta sql*net/Oracle, podczas gdy Access użyłby zwykłego starego protokołu SMB. Z pamięci port lokalny powinien być losowy i pochodzić z ograniczonego podzbioru portów.

Jaki sterownik niższego poziomu i z jaką bazą danych się łączysz? Czy istnieje możliwość łączenia połączeń?

person Mark Nold    schedule 17.12.2009