2017-04-03 87 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