Я написал небольшое приложение Asp.net с использованием Entity Framework.
Хранимая процедура принимает следующее: employeeID int, startDate varchar (12), endDate varchar (12)
Iзатем используйте SQL-сервер для преобразования коротких строк даты в DateTime.
SET @correctStartDate = CONVERT(DATETIME,(convert(varchar(10),@startDate,103) + ' 00:00:00am'), 103)
SET @correctEndDate = CONVERT(DATETIME,(convert(varchar(10),@endDate,103) + ' 11:59:59pm'), 103)
В среде разработки iis7 Windows Server 2008 с SQL Server 2008 R2 проблем нет.
Если мы развернем в производствоНа сервере iis6 (Windows Server 2003 SP2 с SQL Server 2008 R2) мы получаем:
"Преобразование типа данных varchar в тип данных datetime привело к значению, выходящему за пределы допустимого диапазона. Преобразование varcharтип данных для типа данных datetime привел к значению вне допустимого диапазона. "
Почему это так?Оба имеют одинаковые региональные настройки.