Ошибка преобразования даты классического ASP сайта после перемещения серверов? - PullRequest
1 голос
/ 19 апреля 2010

Я перемещаю старое хранилище с сервера Win2003 IIS6 на сервер Win2008 IIS7, перенес все, включая базу данных. Внешний интерфейс, кажется, работает нормально, но когда я вхожу в систему, он должен извлекать данные, основанные на диапазонах дат, и теперь, откуда я получаю эту ошибку?

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value

Любые идеи, почему это будет делать это на новом сервере, а не на старом? Код не изменился, и БД является резервной копией старого сервера ??

Ответы [ 2 ]

1 голос
/ 19 апреля 2010

Из сообщения об ошибке, вероятно, здесь происходит то, что приложение ASP отправляет строки даты на сервер SQL, например он строит запросы с такими предложениями Where:

WHERE SomeDateField > '20/04/2010'

... и некоторые другие региональные настройки на новой платформе не позволяют SQL анализировать строку даты. Как правило, это сводится к тому, что формат даты США - Великобритания помещает месяц в другое место. Или:

  • Региональные настройки в Windows отличаются, в результате чего ASP создает строку даты другим способом, или
  • Региональные параметры в SQL отличаются, что заставляет SQL пытаться проанализировать строку даты другим способом.

Из разговора, который мы провели ниже, похоже, что это могут быть региональные настройки в SQL.

В SQL Server Standard обычно есть следующие языковые настройки, которые могут повлиять на анализ строк даты:

  • Общая настройка языка для сервера
  • языковая настройка для каждого имени входа, определенного на сервере (см. Диалоговое окно свойств для входа в систему)

Я почти уверен, что SQL Express также будет иметь те же настройки. Запустите «Microsoft SQL Server Management Studio Express» на обоих серверах и сравните настройки языка сервера и входа в систему.

1 голос
/ 19 апреля 2010

Ах, я бы сказал, что у вас есть проблема с культурой. Вероятно, вам нужно / дождаться форматирования даты и строки в определенной форме, и кодирование в текущем процессе отличается;) Возможно, вы изменили настройку на старом сервере, а не на новом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...