sql server语言 - 经典的ASP + TSQL:日期时间格式问题



我最近把一个经典的ASP网站转移到一个新的服务器上。服务器运行的是IIS7.5。站点通过ODBC连接MS SQL数据库。它的应用程序池在NETWORK SERVICE下运行。

散落在这个企业规模的网站上的datetime输入字段在旧服务器上工作得很好,但现在它们都有以下错误:

[Microsoft][SQL Server Native Client 10.0][SQL Server]将varchar数据类型转换为datetime数据类型导致值超出范围

期待错误的datetime格式。代码中使用的格式始终是yyyy/MM/dd。当我交换表单字段中的月和日位置时,它就工作了。例如yyyy/dd/MM(这很奇怪)。

windows控制面板,IIS全球化和NETWORK SERVICE用户的注册表项都设置为en-GB!

我已经测试了代码的所有方式调用数据库和输入看起来不错。然后我也复制了sql并在我自己的登录下通过sql Server管理工作室运行它,这也很好。只有在NETWORK SERVICE下通过ODBC连接运行时才会失败。

您可以检查和更改NETWORK SERVICE用户登录的默认语言。

在MS SQL Management Studio中,在对象资源管理器中搜索安全/登录/和您的帐户名称。在上下文菜单中有一个Properties条目。然后检查默认语言

在web服务器上的ODBC数据源中,将数据源设置为"在输出货币数字和日期时使用区域设置"…

Control PanelAll Control Panel ItemsAdministrative ToolsData Sources (ODBC)
Double click your data source
Click Next
Enter a valid db user / password, click next
Select the default DB, then next
Make sure the box as described above is CHECKED, then finish.

在IIS上,在web应用程序池中->高级设置->

设置Load User Profile选项为TRUE。这将强制为您的池用户"采用"设置。

您可以更改IIS 6的AspLCID元数据库属性,或IIS 7+的LCID属性:ASP属性。

相关内容

  • 没有找到相关文章

最新更新