问题描述
数据库是从SqlServer2008移到SqlServer2014上,直接从VS2010上支行不会有问题,但是发布出去就有错,错误如下:“/”应用程序中的服务器错误。从字符串转换日期和/或时间时,转换失败。说明:执行当前Web请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.Data.SqlClient.SqlException:从字符串转换日期和/或时间时,转换失败。源错误:执行当前Web请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。堆栈跟踪:[SqlException(0x80131904):从字符串转换日期和/或时间时,转换失败。]System.Data.SqlClient.SqlConnection.OnError(SqlExceptionexception,BooleanbreakConnection,Action`1wrapCloseInAction)+388System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObjectstateObj,BooleancallerHasConnectionLock,BooleanasyncClose)+688System.Data.SqlClient.TdsParser.TryRun(RunBehaviorrunBehavior,SqlCommandcmdHandler,SqlDataReaderdataStream,BulkCopySimpleResultSetbulkCopyHandler,TdsParserStateObjectstateObj,Boolean&dataReady)+4403System.Data.SqlClient.SqlDataReader.TryHasMoreRows(Boolean&moreRows)+356System.Data.SqlClient.SqlDataReader.TryReadInternal(BooleansetTimeout,Boolean&more)+499System.Data.SqlClient.SqlDataReader.Read()+34System.Data.SqlClient.SqlCommand.CompleteExecuteScalar(SqlDataReaderds,BooleanreturnSqlValue)+53System.Data.SqlClient.SqlCommand.ExecuteScalar()+284haoke365.SqlHelper.ExecuteScalar(StringSQL)inF:好客EAM资产管理系统Source-20160331webhkproPublicSqlHelper.cs:164hkpro.asse2.wpff.Ffdlr.GridViewBind()inF:好客EAM资产管理系统Source-20160331webhkproasse2wpffFfdlr.aspx.cs:86hkpro.asse2.wpff.Ffdlr.Page_Load(ObjectSender,EventArgsE)inF:好客EAM资产管理系统Source-20160331webhkproasse2wpffFfdlr.aspx.cs:35System.Web.UI.Control.LoadRecursive()+71System.Web.UI.Page.ProcessRequestMain(BooleanincludeStagesBeforeAsyncPoint,BooleanincludeStagesAfterAsyncPoint)+3178
解决方案
解决方案二:
估计是你的C#的DateTime直接用了ToString(),服务器上默认转成了2016/04/20这种,而数据库默认只认2016-04-20这种
解决方案三:
数据库默认的时间格式是“2016-04-20”,检查数据里面是不是有其他格式的
解决方案四:
时间格式是“yyyy-MM-dd”,发布到服务器上去没问题,服务器上数据是SqlServer2008,我本机是Sqlserver2014,发布到本机有这样的问题,直接从VS中调试支行就没有
解决方案五:
我也遇到了这个问题,请问你是怎么解决的