1

我们有一个使用 ADO 连接到数百个数据库的应用程序。现在我知道这可能不是最好的做事方式(自从编写应用程序以来,我们的客户群已经扩大)并且我们正在重新编写应用程序以限制连接数。但是与此同时,如果我查看运行此应用程序的计算机上使用的端口,我会发现用于连接的本地端口范围从 2519 到 2726。

我一直认为本地端口在 32,768 范围内,而不是较低的数字。使用较低的数字会导致与我们正在运行的其他一些服务器应用程序发生冲突。

我从端口监视器看到的实际值的一个示例是:
协议:TCP
本地端口:2582
本地地址:10.1.1.103
远程端口:1433
远程地址:10.1.1.108

所以我的问题是:

为什么 ADO 使用低端口号?
有没有办法让它从 32,768 开始或阻止它使用其他服务器使用的端口?
我们还看到很多 SQL 连接处于“时间等待”状态。什么决定了它们何时发布?

非常感谢,基思

4

1 回答 1

0

远程端口取决于它用来连接的数据库和协议。Oracle 将使用 sql*net / Oracle 客户端,而 Access 将使用普通的 SMB。从内存中,本地端口应该是随机的,并且来自有限的端口子集。

您连接到什么较低级别的驱动程序和什么类型的数据库?有连接池的选项吗?

于 2009-12-17T08:41:28.587 回答