2 веб-сервера, использующих одну базу данных.Один выбрасывает дату вне диапазона ошибки - PullRequest
1 голос
/ 13 января 2012

Я перевожу классический asp-сайт из среды windows 2k3 server / iis6 в windows 2008r2 / iis7. На нескольких страницах системная дата передается в базу данных mssql, и возникает следующая ошибка: преобразование типа данных char в тип данных datetime привело к значению datetime вне диапазона. Дата прохождения: «13/01/2011 чч: мм: сс AM». Я понимаю, что база данных интерпретирует это как 13-й месяц, и именно поэтому ошибка.

Я не понимаю, откуда именно эта дата. Страница использует этот фрагмент для даты:

    FormatDateTime(DATE() & " " & Time(), vbGeneralDate)

Это должно вернуть дату в формате мм / дд / гггг, но это не так. Поскольку веб-серверы используют одну и ту же базу данных, я считаю, что проблема должна быть связана с конкретным веб-сервером.

Я проверил в панели управления / региональных настройках, и оба настроены на американский английский, и формат там, кажется, правильный. Системные форматы даты и времени указаны где-либо еще? Я не смог найти ничего в IIS, где я мог бы установить формат даты по умолчанию

Ответы [ 2 ]

1 голос
/ 16 января 2012

В результате возникла проблема с настройкой языкового стандарта системы на панели управления -> регион и язык.Этот параметр «управляет языком, используемым при отображении текста в программах, которые не поддерживают Unicode».

1 голос
/ 14 января 2012

Я думаю, вам нужна строка Session.LCID (= LCID) в вашем коде.

Подробнее об этом: http://www.w3schools.com/asp/prop_lcid.asp

...