我最近将一个经典的 ASP 网站转移到了新服务器。服务器运行IIS7.5。该站点通过 ODBC 连接到 MS SQL 数据库。它的应用程序池在NETWORK SERVICE
下运行。
这个企业级网站中散布着日期时间
输入字段,这些字段在旧服务器上运行良好,但现在它们都出现以下错误:
[Microsoft][SQL Server Native Client 10.0][SQL Server]The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
它需要错误的日期时间
格式。代码中使用的格式一致为yyyy/MM/dd
。当我交换表单字段中的月份和日期位置时,它起作用了。 IE。 yyyy/dd/MM
(这很奇怪)。
Windows 控制面板、IIS 全局化和 NETWORK SERVICE
用户的注册表项均设置为 en-GB!
我已经测试了代码一直到调用数据库,并且输入看起来不错。然后,我还复制了该 sql,并在我自己的登录名下通过 SQL Server Management Studio 运行它,这也工作得很好。仅当通过网站运行时(在网络服务
下并通过 ODBC 连接)才会失败。
非常感谢任何帮助。
最佳答案
您可以检查并更改 NETWORK SERVICE 用户登录的默认语言。
在 MS SQL Management Studio 的对象资源管理器中搜索安全/登录/和您的帐户名。在上下文菜单中有属性条目。然后检查默认语言。
关于sql-server - 经典 ASP + TSQL : DateTime Format Issue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14222456/