在我的服务器上,我使用SqlClient连接到SQL Server,Oledb用于连接Oracle的旧应用程序和用于连接Oracle的新应用程序的ODP.NET。
我在perf计数器中看到了:
但是我只能在 .NET数据提供程序for Oracle 的情况下添加和查看 .NET数据提供程序用于Sql Server 和 ODP.NET 的计数器(我的意思是System.Data.Oledb
)无效。
来源:
OleDb提供程序不公开性能计数器。
这是对的吗?
答案 0 :(得分:1)
OleDb提供程序不公开性能计数器。
很遗憾,这是事实。
但是另一方面,您提到的三个提供程序都有性能计数器:
.NET Data Provider for Oracle不是System.Data.OLEDB
提供者,它是System.Data.OracleClient
提供者,并且具有性能计数器。
基于Performance Counters in ADO.NET official documentation:
ADO.NET 2.0引入了对性能计数器的扩展支持,其中包括对 System.Data.SqlClient 和 System.Data.OracleClient 的支持。
在System.Data.OracleClient Namespace documentation中,他们提到:
System.Data.OracleClient命名空间是Oracle的.NET Framework数据提供程序。
引用System.Data.OleDb Namespace official documentation:
System.Data.OleDb命名空间是OLE DB的.NET Framework数据提供程序。
在谈论性能计数器时,似乎Microsoft并未提及与该提供程序有关的任何内容。
引用Data Provider for .NET Developer's Guide:
安装Oracle Data Provider for .NET会在目标系统上创建一组性能计数器。这些性能计数器由 ODP.NET 发布给每个ODP.NET客户端应用程序。可以使用Windows Performance Monitor(Perfmon)查看这些性能计数器。
类似问题链接