参考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访问数据库。
您可能还需要其他信息。
答案 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")