Как решить ошибку преобразования типа данных varchar при миграции базы sql 2000 до sql 2008?

В общем имелся старый рабочий SQL Server 2000 Developer edition установленный на Windows 7
На клиентских ПК подключение к данной базе из приложений написанных на с++ Builder через BDE Administrator
Данная редакция не подлежит прямому обновлению, по этому только миграция.
Сделал слейдующие шаги:
1) бэкап базы в sql 2000
2) удалил sql 2000
3) Установил sql 2008 менеджера затем серверную часть, при установке выбрал экземпляр по умолчанию, аутентификация только виндовс
4) Создал базу данных с таким же именем что и была на Sql 2000 зашел user добавил Гость дал права на все.
5) В эту базу воостановил бэкап с перезаписью, все прошло чудесно
Сервер работает приложения к ней коннектятся и работают частично в определнных случаях вылетает ошибка:
General SQL error.
[Microsoft][ODBC SQL Server Driver][SQL Server]Преобразование типа данных varchar в тип данных datetime привело к выходу значения за пределы диапазона
  • Вопрос задан
  • 403 просмотра
Решения вопроса 1
tsklab
@tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
Приложение или BDE неверно формируют запрос. В строке, которая преобразуется в дату перепутаны части, например, номер месяца и число или год .
Или это проблема 2000 года. В последнем случае может помочь настройка двухзначного года.

datetime

Проверяйте настройки BDE или обращайтесь к разработчиками программы.

Так делать плохо

Если не изменять приложение, то придётся изменять базу данных (именно изменять, а не настраивать): для чтения использовать вычисляемые поля; для записи — триггеры.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы