某处的区域设置有问题

时间:2008-11-12 12:35:10

标签: vb6 asp-classic

参考Problem with date day/month reversing on save

我进一步指出,即使在页面本身设置Session.LCID也没有任何区别。

环境怎么样,在测试和实时之间,现场的asp站点正在逆转通过SQL输入的日期,而不是测试。

两者都将IUSR设置为英国,所有用户都设置为英国,两者都将SQL帐户设置为美国英语,并且都将Session.LCID设置为3081(澳大利亚英语)

为什么测试正在运行“插入日期列值'01 / 03/2008'并插入'01 / 03/2008'并且实时插入'03 / 01/2008'”

设置看起来完全相同。这一点必须很快弄清楚我会非常害怕,我们永远不会知道。问题是我们可能不会更改代码或其他任何内容。我所能做的就是调查并告诉他们原因。但我找不到了!

这是VB6 / ASP,这让我很开心。

通过配置为使用正确SQL帐户的系统DSN访问数据库。

您可能还需要其他信息。

2 个答案:

答案 0 :(得分:1)

在SQL Server Management Studio的“安全 - 登录”中,右键单击要连接的用户,然后单击“属性”。底部的组合框标记为“默认语言”,将其更改为“英国英语”(只是“英语”)。

sp_configure 'default language'为新创建的登录设置默认语言 ,并将其存储在sysconfigures中。

我在这里假设语言没有在查询字符串中设置?

答案 1 :(得分:0)

我建议您修改与数据库交互的代码。您可以使用2种明确的日期格式与SQL Server。

你可以使用yyyy-mm-ddThh:mi:ss.mmm或YYYYMMDD hh:mi:ss.mmm

如果使用上面列出的2种格式之一,SQL Server将永远不会错误解释日期。

在vb中,您可以使用以下格式函数将日期格式化为SQL Server永远不会误解的非模糊日期格式。

Format(YourDateVariable, "yyyymmdd hh:nn:ss")