使用相同的ConnectionString打开两个SQLConnections

本文关键字:SQLConnections 两个 ConnectionString | 更新日期: 2023-09-27 18:18:11

我正在跟踪一个不是我自己写的库中的bug。当使用这个库与ASP。. NET,我得到db连接错误,因为SQLConnection似乎关闭时第二个连接正在打开相同的连接字符串。

这是记录的行为吗?打开具有相同连接字符串的新SQLConnection会关闭另一个SQLConnection对象吗?

从调试,似乎是最有可能的原因,我的问题,但我找不到任何在网上支持我的理论

使用相同的ConnectionString打开两个SQLConnections

不,当您调用SqlConnection.Open()方法时,即使使用相同的连接字符串参数,它也会做以下两件事之一:要么重用池中未使用的连接,要么创建新连接。

这是记录的行为吗?

打开具有相同连接字符串的新SQLConnection会关闭另一个SQLConnection对象吗?

请注意,除非您修改了设置,否则SQL Server允许32,767个并发连接。但即便如此,这也不能解释你所看到的行为

简而言之,使用相同的连接字符串打开新连接不会关闭现有连接。然而……通过创建对新连接的新引用来重用已经存在的对象将破坏该连接。