2013-05-02 37 views
15

Ben bir ELMAH problem yaşıyorum. Bence bağlantı dizesi ama nedenini anlayamıyorum. Beni hataya yol açıyor, sorun değil, sadece sql dosyasına giriş yapmıyor. Sorun izin veriyorsa, bana bir izin sorununu göstermek için nasıl bir hata yakalayabilirim?ELMAH SQL Server'da Oturum Açma

<configSections> 
<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" /> 
    <section name="errorTweet" requirePermission="false" type="Elmah.ErrorTweetSectionHandler, Elmah" /> 
</sectionGroup> 

<connectionStrings> 
<add name="ErrorLog" connectionString="Data Source=SQL1;Initial Catalog=ASBESTOS;User Id=MyUserName;Password=MyPassword" providerName="System.Data.SqlClient" />  

<system.web> 
    <httpModules> 
     <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" /> 
     <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" /> 
     <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" /> 
    </httpModules> 
</system.web> 
<system.webServer> 
<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> 
<validation validateIntegratedModeConfiguration="false" /> 

<elmah> 
    <security allowRemoteAccess="1" /> 
    <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="ErrorLog"/>  
    <errorMail from="[email protected]" to="[email protected]" subject="Asbestos Error Log" async="true"></errorMail> 
    </elmah> 
    <location path="elmah.axd" inheritInChildApplications="false"> 
    <system.web> 
     <authorization> 
     <allow roles="System" /> 
     <deny users="*" /> 
     </authorization> 
     <httpHandlers> 
     <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /> 
     </httpHandlers> 
    </system.web> 
    <system.webServer> 
     <handlers> 
     <add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" /> 
     </handlers> 
    </system.webServer> 
    </location> 

cevap

18

Kişisel yapılandırma iyi görünüyor: İşte benim web.config ELMAH ilgili bölüm bulunmaktadır. Giriş yapmadığı yerde aynı sorun vardı. Elmah saklanan provalarda DB'ye bağlanmak için kullandığım kimlik bilgileriyle yürütme izinlerini eklemem gerekiyordu.

+2

Ugh. Ben bir aptalım. Projenin içinden geçtikten sonra, Kod İlkesine geçtim ve veritabanına birkaç kez yeniden yerleştirdim, ELMAH tablosunu DAHİL ETTİR, bu da tablonun izinlerini değiştirdi. Yani, izinlerle ilgili ipucunuz doğrudur. Teşekkürler. –

+1

Çok yardımcı. FYI yürütme izinleri ekleme sözdizimi şöyledir: GRANT EXECUTE ON [StoredProcName] TO [KullanıcıAdı] – Bern