0

我们有一个应用程序,其中应用程序的会话数据存储在一个表中,从该表中我们有一个 SQL 作业,它将上述数据放在另一个表中,从而更有意义地隔离它。

当我们创建作业时,作业在 DEV 环境和 TEST 中通过,但是当我们在生产和阶段实施作业时,作业失败并出现以下错误。

从字符串转换日期和/或时间时转换失败

我们尝试将数据库恢复到应用程序数据库所在位置以外的其他实例,并且 SQL 作业成功完成。作业仅在应用程序数据库所在的实例中失败。

我们尝试的步骤:我们尝试将作业成功完成的实例的 SQL 配置与失败的实例进行比较,没有差异我们尝试手动执行存储过程并编写一些打印语句以查看它是否真的是代码问题,这没有帮助我们,因为特定会话 GUID 的工作没有失败,并且在 DEV 环境中传递了相同的步骤。

我们无法弄清楚为什么这只发生在应用程序数据库所在的实例上。

4

2 回答 2

0

“从字符串转换日期和/或时间时转换失败”。这是基于数据的错误。它有一个字符串,该字符串不是转换为数据所需的格式。问题不在于代码,而在于数据。添加预处理步骤以将数据转换为所需格式。

于 2013-08-28T06:29:40.037 回答
0

检查正在运行作业的服务器帐户的默认语言 - 我的猜测类似于 DEV/TEST 的帐户设置为英国英语,而 LIVE 设置为英语。但是,即使是这样,这仍然只能说明问题出现在 LIVE 上的原因。您应该做的更正此问题的基本操作是确保您的工作不对日期格式做出任何假设,不进行任何隐式日期转换,并将日期保存在日期变量/列中,而不是字符中。

于 2013-08-28T06:51:27.613 回答