我有一个应用程序,它只是打开一个到远程主机的 SqlConnection。我的代码是这样的:
SqlConnection sc = new SqlConnection();
sc.ConnectionString = sConnectionString;
sc.Open();
我在网络监控工具打开时运行了该应用程序。我注意到有 4 个本地端口打开,与远程主机的 1433 端口通信。我预计只有 1 个端口会打开。为什么会这样?
我有一个应用程序,它只是打开一个到远程主机的 SqlConnection。我的代码是这样的:
SqlConnection sc = new SqlConnection();
sc.ConnectionString = sConnectionString;
sc.Open();
我在网络监控工具打开时运行了该应用程序。我注意到有 4 个本地端口打开,与远程主机的 1433 端口通信。我预计只有 1 个端口会打开。为什么会这样?
我猜你还没有关闭你的sqlconnection并且它已经连续打开了,尝试重新启动服务器和(尝试重新启动你的计算机)。并在您完成工作后使用此代码。它以前发生在我身上,这对我有用。
SqlConnection sc = new SqlConnection();
sc.ConnectionString = sConnectionString;
sc.Open();
// do you coding here
// complete all the operations related to this connection
//close the connection
sc.Close();
如果您有权查看远程数据库服务器中打开的数据库连接,请将其与托管应用程序的计算机中打开的 tcp/ip 连接进行比较。
如果数据库服务器上打开的连接数与对应的 tcp/ip 连接数匹配,则可以确定有多个同时打开的连接,并进一步调试。
在 SQL Server 2008 中,执行sp_who2
或打开活动监视器。您应该能够从结果中识别连接源。在应用主机使用netstat -n
或其他网络监控工具。