我怀疑 Pooling 是否真的适用于 vb.net。我使用下面的查询来检查从不同电脑到数据库的连接。
SELECT hostname,p.status,[program_name],loginame,name
FROM Master..sysprocesses as p join master.dbo.sysdatabases as d on p.dbID = d.dbID
WHERE p.ecid=0 and p.hostname<>''
order by name
在输出中,我看到从一台 pc 到同一个数据库的不止一个连接。
所以我对此表示怀疑。在我的 vb.net 应用程序中,我只打开一次连接,所以我想该连接将来自同一个池,因此只有一个从 PC 到数据库的打开连接。
更新
我有一个 vb.net 应用程序,它利用与 SQL 服务器数据库的连接。
如果我打开同一个程序的多个实例,那么连接将来自同一个池还是不同的池?
如果我们打开不同的 exe,但都打开到相同数据库的连接,那么两者将使用相同的连接池?
当我们在 SQL Server 中运行查询时,许多连接显示到来自同一台 PC 的同一数据库。