मैं एक एसक्यूएल सम्मिलित करें बयान के बजाय एक संग्रहीत प्रक्रिया का उपयोग कर जब एक सी # वेब अनुप्रयोग में NLog का उपयोग कर एक समस्या का एक सा हो रहा है पर NLog में प्रक्रिया संग्रहित का उपयोग करना। कनेक्शन स्ट्रिंग "लॉगर" को Web.config में सही तरीके से कॉन्फ़िगर किया गया है और SQL कथन के साथ कमांडटेक्स्ट को प्रतिस्थापित करते समय ठीक से काम करता है। मैं सही दिशा में एक संकेत की सराहना करता हूं। इस उदाहरण में संग्रहित प्रक्रिया "लॉग" स्कीमा के अंतर्गत है और इसे "लॉगइरर" कहा जाता है।एक डाटाबेस लक्ष्य
<targets>
<target xsi:type="Database"
name="dberrorlog"
connectionStringName="Logger"
keepConnection="true"
commandText="[Logs].[LogError]" >
<parameter name="@ProgName" layout="MyAppName"/>
<parameter name="@CompName" layout="${machinename}"/>
<parameter name="@LogLevel" layout="${level}"/>
<parameter name="@UserName" layout="${identity}"/>
<parameter name="@Error" layout="${exception:format=Message}"/>
<parameter name="@SourceObj" layout="${exception:format=Method}"/>
<parameter name="@StackTrace" layout="${exception:format=StackTrace}"/>
</target>
</targets>
<rules>
<logger name="*" minlevel="Error" writeTo="dberrorlog" />
</rules>
धन्यवाद, यह चाल है। मेरे साथ ऐसा नहीं हुआ कि मैं सिर्फ exec को कॉल कर सकता हूं। आंतरिक रूप से यह sp_executesql – Diego
@adrift को कॉल कर रहा है NLog फ़ोरम पोस्ट का लिंक अब अनावश्यक है। – chridam