首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL OrmLiteWriteCommandExtensions

MYSQL OrmLiteWriteCommandExtensions
EN

Stack Overflow用户
提问于 2017-01-26 10:17:49
回答 1查看 37关注 0票数 0

我的日志中有一个来自OrmLiteWriteCommandExtensions的错误,我似乎找不到这种情况发生的地方。我没有丢失数据;当我将logfactiory设置为null时,它不会破坏任何错误;我已经将它设置为允许零日期,但这没有帮助。我不知道如何调试或绕过它。它用我无法追踪的语句堵塞了我的日志。

这发生在linux和windows上。

有谁知道怎么解决这个问题吗?

OrmLiteWriteCommandExtensions System.FormatException: String不能被识别为有效的DateTime。在ServiceStack.Text.Common.DateTimeSerializer.ParseShortestXsdDateTime(String dateTimeStr的System.DateTimeParse.ParseExact(String s,String格式,DateTimeFormatInfo dtfi,DateTimeStyles样式) at System.DateTime.ParseExact(String s,String format,IFormatProvider provider,DateTimeStyles style),at ServiceStack.OrmLite.Converters.DateTimeConverter.FromDbValue(Type fieldType,Object ServiceStack.OrmLite.OrmLiteWriteCommandExtensions.PopulateWithSqlReaderT

更新:

日志记录发生在nlog配置文件中的正确文件集中,但对于此异常,它不符合NLOG布局集中的格式设置(所有其他异常都符合!)。

布局字符串:${exception:format=type} ${machinename} ${logger} ${level} ${message} ${message}${onexception:异常发生:${exception:format=type,message,exception:format=type消息,方法}}

UPDATE2解决了:

所以这很有趣..。在我开始解释我是如何解决这个问题之前,我不得不说我不知道为什么它会写入正确的日志文件中,但是忽略所有记录错误的格式--这是另一条需要另一次杀戮的巨龙。

因此,问题在于mysql数据库中的varchar字段的生日为string,以及dotnet中的DateTime之间将字符串隐式转换为string,这是一个错误。

在将字段更改为数据库中的日期时间后,错误就消失了。

有趣的是,我不得不设置minlevel来跟踪它对数据库的调用,以获得上下文中的错误--但是它仍然忽略了所有错误格式,没有堆栈跟踪,没有sql语句,也没有与日志中的错误相关联的行号。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-26 13:19:18

因此,问题在于mysql数据库中的varchar字段的生日为string,以及dotnet中的DateTime之间将字符串隐式转换为string,这是一个错误。

在将字段更改为数据库中的日期时间后,错误就消失了。

有趣的是,我必须设置minlevel以便在上下文中通过调用数据库获得错误--但是它仍然忽略所有错误格式,没有堆栈跟踪,没有sql语句,也没有与日志中的错误相关联的行号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41871243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档