来自C#后端

时间:2017-02-13 19:08:14

标签: c# sql datetimeoffset

由于与DateTimeOffset相关问题的无效转换,我从本地环境到开发环境接收到不同的行为。奇怪的是,同样的Web应用程序也在测试环境中,并且正常运行。我收到错误的唯一地方是开发中,但没有测试或我的本地计算机。

错误我收到:

 [InvalidCastException: Specified cast is not valid.]
   System.Data.SqlClient.SqlBuffer.get_DateTime() +6531011
   System.Data.SqlClient.SqlDataReader.GetDateTime(Int32 i) +61
   G_C.G_C_CodeGroupData.ReadDBRowForMaint() +765
   G_C.G_C_CodeGroupEdit.OnInit(EventArgs e) +341
   System.Web.UI.Control.InitRecursive(Control namingContainer) +186
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2098

从C#代码我调用以这种方式从列中检索数据的存储过程:

dr.GetDateTimeOffset(4).ToLocalTime().DateTime.ToString()

另一方面,存储过程只是一个基于id选择记录的select语句。

该特定列的列定义是:

[VAR_CREATE_DATE] [datetimeoffset](7) NULL CONSTRAINT [DF_G_C_CODE_VARIABLE_VAR_CREATE_DATE]  DEFAULT (sysdatetimeoffset()),

这可能是一个非常明确的原因,为什么我无法摆脱这个错误,但它现在正在逃避我。我无法看出错误在哪里;或是什么触发它。

PS。本地和测试环境正在寻找相同的数据库和表定义。

谢谢你, N.

0 个答案:

没有答案