Сколько разных мест вы должны установить форматы даты в IIS 7.0 и win2k8 - PullRequest
2 голосов
/ 17 марта 2009

Я пытаюсь перенести старое классическое приложение asp на IIS 7.0 с win2k8, и я определенно не хочу менять старый код, если могу помочь.

Я установил формат даты в настройке региональных параметров в форматах даты в региональных и и языковых опциях в панели управления для дд-ммм-гг.

Я все еще получаю Conversion_failed_when_converting_datetime_from_character_string ошибки использования этого формата даты даже после перезагрузки.

Я также использую SQL Server Express 2005.

Где еще вам нужно установить форматы даты? Должны ли они быть взяты из настроек машины?

Старый код делает что-то действительно глупое, но, опять же, я не хочу менять его, а затем снова тестировать.

Старый код эффективно делает это "Вставить в MyTable (ThisDate) значения ('" & Now () & "')"

Генерирует значения вставки в MyTable (ThisDate) ('17 / 03/2009 3:40:48 p.m. ')

Сообщение 241, Уровень 16, Состояние 1, Строка 1 Ошибка преобразования при преобразовании даты и времени из символьной строки.

То, на что он на самом деле жалуется, это «р.м.» часть строки спрайта настройки региона на машине, указывающие НЕ использовать это.

Ответы [ 3 ]

5 голосов
/ 17 января 2012

Это очень раздражающая проблема, возникающая из-за установки Server 2008 с другим регионом, который вы в конечном итоге хотите использовать.

Как правило, эта проблема возникает, когда Сервер установлен в США, а затем пользователь устанавливает местоположение в Великобританию. Затем, когда код выполняется, он возвращает 17.01.2012 вместо 17.01.2012, и да, SQL Server может возвращать ошибки, например «Conversion_failed_when_converting_datetime_from_character_string».

Проблема в том, что у учетной записи IUSR есть свой собственный регион, и именно этот параметр сервер использует при выполнении классического ASP. Это то, что вы должны сделать, чтобы это исправить ...

Откройте «Регион» и «Язык» на панели управления. Вы должны увидеть вкладку «Административный», нажмите «Копировать настройки». Убедитесь, что параметры, перечисленные в разделе «Текущий пользователь», являются теми, которые вы хотите реплицировать, если они не вернулись к раскладке клавиатуры и т. Д., И установите их. Установите флажок «Экран приветствия и системные учетные записи», а затем нажмите «ОК». Перезагрузка.

Теперь это должно работать.

1 голос
/ 20 января 2011

Все, что вам нужно сделать, это изменить настройку культуры в разделе .Net Globalization на вашу страну, и она должна это исправить.

1 голос
/ 17 марта 2009

Существует только одно место, где вы должны установить его, для любого приложения, которое обращает внимание на региональные настройки, и вы уже установили его там.

Откуда "Conversion_failed_when_converting_datetime_from_character_string"? VBScript? Может быть, он не обращает внимания на региональные настройки.

...