[ 
https://issues.apache.org/jira/browse/LOG4NET-686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17564214#comment-17564214
 ] 

Patrick Schulz commented on LOG4NET-686:
----------------------------------------

We had this issue too with v2.0.14.

I enabled debug logging and stumpled upon the error 
"System.InvalidOperationException: variable length parameters have to be 
explicit non-null-size" (or so) thrown by SqlCommand.Prepare().

Here the exact message in german: System.InvalidOperationException: "Die 
SqlCommand.Prepare-Methode erfordert, dass für alle variablen Längenparameter 
explizit eine nicht-Null-Size festgelegt wird."

Solution: Create a custom AdoNetAppender and overwrite the existing 
Prepare(IDbCommand dbCmd)-Method with:
```
foreach(var o in base.m_parameters){
        var parameter = (AdoNetAppenderParameter) o;
        parameter.Prepare(dbCmd);
} 
```

And it works (for us) again.

> AdoNetAppender not working over SQL server
> ------------------------------------------
>
>                 Key: LOG4NET-686
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-686
>             Project: Log4net
>          Issue Type: Bug
>          Components: Builds
>    Affects Versions: 2.0.14
>         Environment: Windows 10 Pro N, 21H2
> .NET framework 4.7.1
>            Reporter: Hugues Stefanski
>            Priority: Major
>         Attachments: Log4NetTest.zip
>
>
> Hello,
> Following an update of our dependencies, I noticed that my log traces are not 
> getting output to SQL server anymore. I created a test project (attached to 
> this issue), with the same configuration, using v2.0.12 and v2.0.14, and 
> confirmed that 2.0.12 worked as expected, while 2.0.14 does not write 
> anything.
>  
> Checking the release notes, I stumbled on [PR 
> 77|https://github.com/apache/logging-log4net/pull/77], which I guess might be 
> related (but that's just a wild guess)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to