使用 MiniProfier 分析 DB2 连接

Profiling DB2 connection with MiniProfier

我正在尝试将 MiniProfiler 添加到我的 DB2 连接中。下面是我的简化代码。

public void InitializeConnection()
{
    DB2Connection cnn = new DB2Connection("connection String");
    var profiler = 
         new StackExchange.Profiling.Data.ProfiledDbConnection(cnn, MiniProfiler.Current);
    IDbCommand c = new DB2Command();
    c.Connection = profiler ;
}

我的问题出现在最后一行,其中将探查器分配给 DB2Command 的连接 属性。我收到以下错误。

无法将类型 'StackExchange.Profiling.Data.ProfiledDbConnection' 的对象转换为类型 'IBM.Data.DB2.DB2Connection' 我尝试了几种不同的选角想法,但都没有成功。

DB2Command.Connection 属性 属于 DB2Connection 类型(正如错误消息告诉您的那样)。请尝试 DbConnection

c.DbConnection = profiler

More in the manual

我认为你在倒退。您正在将连接分配给 ProfiledDbConnection class(似乎是正确的,based on the docs 在 MiniProfiler 网站上)。

但是,您随后创建了一个特定于 DB2 的命令对象,并尝试将 ProfiledDbConnection class 分配给连接对象。

我想你要做的是调用 profiler.CreateDbCommand(),这将创建一个使用 DB2Command class "under the covers".

ProfiledDbCommand 对象