企业库-数据库跟踪列表器调用oracle存储过程-有没有办法查看记录器执行的命令

本文关键字:记录器 执行 命令 存储过程 列表 跟踪 数据库 调用 企业库 oracle 有没有 | 更新日期: 2023-09-27 18:31:10

我在oracle数据库中创建了一个Stored processc,它接受以下参数。 此存储过程根据企业库发送的请求将值添加到表中 数据库跟踪侦听器

Timestamp Date,
      Message VARCHAR2,
      Category VARCHAR2,
      Priority int,
      EventID int,   
      Severity VARCHAR2,
      Title VARCHAR2,
      Machine VARCHAR2,       
      ProcessId varchar2,
      ProcessName VARCHAR2

和我在 web.config 中的格式化器

<add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        template="Timestamp: {timestamp}{newline}&#xA;Message: {message}{newline}&#xA;Category: {category}{newline}&#xA;Priority: {priority}{newline}&#xA;EventId: {eventid}{newline}&#xA;Severity: {severity}{newline}&#xA;Title:{title}{newline}&#xA;Machine: {localMachine}{newline}&#xA;ProcessId: {localProcessId}{newline}&#xA;Process Name: {localProcessName}"
        name="Text Formatter" />

我想我正在使用企业库中的格式化器将确切的参数发送到数据库,但我总是收到错误"调用'WRITELOG'时参数的数量或类型错误"所以我想知道是否有办法查看企业库执行的命令来调用存储的过程,以便我可以看到并修复错误。我遵循了亚历克斯·奥利维拉(Alex Oliveira)在博客中提到的相同方法

企业库-数据库跟踪列表器调用oracle存储过程-有没有办法查看记录器执行的命令

我不知道

我们可以看到Entrprise图书馆发送的请求。但是在存储过程中,您缺少"out"参数。数据库跟踪侦听器发送请求并期望响应。所以你的存储过程参数应该是这样的

EventID VARCHAR2,
      Priority VARCHAR2,
      Severity VARCHAR2,
      Title VARCHAR2,
      Timestamp Date,
      MachineName VARCHAR2,
      AppDomainName VARCHAR2,
      ProcessID VARCHAR2,
      ProcessName VARCHAR2,
      ThreadName VARCHAR2,
      Win32ThreadId VARCHAR2,
      Message VARCHAR2,
      FormattedMessage NCLOB,
       LogID IN OUT int