2017-04-03 67 views
1

我有ASP.NET MVC项目,它使用Oracle.ManagedDataAccess.dll连接到Oracle数据库,因此我不需要在部署应用程序的任何计算机上安装Oracle客户端。有没有任何选项来配置ELMAH使用Oracle.ManagedDataAccess.dll? 换句话说,据我所知,ELMAH只能使用Oracle客户端?ELMAH可以使用Oracle.ManagedDataAccess吗?

回答

1

为ELMAH Oracle错误记录器的最新版本,实际上同时支持Oracle客户端和甲骨文自己的.NET客户端:

https://github.com/elmah/Elmah/blob/master/src/Elmah.Oracle/OracleErrorLog.cs#L429

有ELMAH没有2.X NuGet包,包含此错误日志然而。您可以从GitHub克隆ELMAH存储库,并通过源控制,内部NuGet服务器或MyGet分发它。或者,您可以创建自己的错误日志实施:Writing custom error loggers for ELMAH

0

这是我的web.config中的代码。

<sectionGroup name="elmah"> 
     <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" /> 
     <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" /> 
     <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" /> 
     <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" /> 
</sectionGroup> 

<modules runAllManagedModulesForAllRequests="true"> 
     <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" /> 
     <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" /> 
     <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" /> 
    </modules> 
<system.webServer> 
    <handlers> 
     <add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" /> 
    </handlers> 
</system.webServer> 
<elmah> 
    <security allowRemoteAccess="1" /> 
    <errorLog type="Elmah.OracleErrorLog, Elmah" connectionStringName="elmah-oracle" schemaOwner="" /> 
</elmah> 
<add name="elmah-oracle" connectionString="USER ID=...;DATA SOURCE=...;PASSWORD=..." providerName="Oracle.DataAccess.Client" /> 
+0

尝试删除providerName属性。 – ThomasArdal

+0

我尝试没有providerName,同样的问题。 – user521379

+0

您是否正在使用GitHub的最新代码进行自定义生成? – ThomasArdal