ADO локальные порты - PullRequest
       9

ADO локальные порты

1 голос
/ 16 ноября 2009

У нас есть приложение, которое подключается к паре сотен баз данных с помощью ADO. Теперь я знаю, что это может быть не лучшим способом работы (наша клиентская база расширилась со времени написания приложения), и мы переписываем приложение, чтобы ограничить количество подключений. Однако пока я смотрю на порты, используемые на компьютере, на котором работает это приложение, я вижу, что локальный порт, используемый для соединения, находится в диапазоне от 2519 до 2726.

Я всегда думал, что локальные порты находятся в диапазоне 32 768, а не в младших цифрах. Использование меньших чисел вызывает конфликт с некоторыми другими серверными приложениями, которые мы запускаем.

Пример реальных значений, которые я вижу на мониторе внешнего порта:
Протокол: TCP
Локальный порт: 2582
Локальный адрес: 10.1.1.103
Удаленный порт: 1433
Удаленный адрес: 10.1.1.108

Итак, мои вопросы:

Почему ADO использует младший номер порта?
Можно ли как-нибудь запустить его с 32 768 или не использовать порты, используемые другими серверами?
Мы также видим много подключений к SQL в состоянии ожидания времени. Что определяет, когда они будут выпущены?

Большое спасибо, Кит

1 Ответ

0 голосов
/ 17 декабря 2009

Удаленный порт зависит от базы данных и протокола, который он использует для подключения. Oracle будет использовать sql * net / Oracle client, в то время как Access будет использовать обычный SMB. Из памяти локальный порт должен быть случайным и иметь ограниченное подмножество портов.

К какому низкоуровневому драйверу и к какой базе данных вы подключаетесь? Есть ли опция для пула соединений?

...