Попытка выяснить проблему
Я не думаю, что проблема связана с обновлением Visual Studio.Он связан с форматом даты, передаваемым в качестве параметра функции TO_DATE()
.
На основании официальной документации Oracle / PLSQL: ORA-01830 Сообщение об ошибке :
Причина: Вы пытались ввести значение даты, но введенная дата не соответствовала формату даты.
В Oracle формат даты по умолчанию обычно DD-MON-YYYY .Если вы попытаетесь ввести значение даты, которое не соответствует этому формату.
Вы, кажется, передали параметры даты в формате dd-MMM-yyyy
, и теперь они передаются как MM/dd/yyyy
.
Прежде всего, проверьтечто региональные настройки или приложения Информация о культуре не изменилась.
Возможные обходные пути
Устранить проблему можно несколькими способами:
(1) Обработка формата даты параметров
Если вы не хотите редактировать весь код, тогда проще форсировать формат строки данных параметров, убедитесь, что все параметры, переданные в функцию TO_DATE()
, являютсяв следующем формате (или попробуйте изменить формат даты по умолчанию из региональных настроек ОС) :
dd-MMM-yyyy example: 01-AUG-2019
(2) Добавление формата даты в функцию TO_DATE
Если вы уверены, что формат параметров даты фиксирован и не изменится, вы можете отредактировать свой код, как вы упомянули в вопросе:
To_Date(:Date_Parameter,’MM/DD/YYYY’)
(3) Passдата и формат в качестве параметров
Это также требует изменения кода, но вы передадите дату и формат в качестве параметров.
To_Date(:Date_Parameter,:DateFormat_Parameter)
Другие способы можно найти по следующей ссылке:
Обновление 1 - внесение общих изменений в несколько отчетов
Во время поиска я обнаружил следующую ссылку, предоставляющую способ циклического перемещения по отчетам и внесения изменений.Вам нужно только заменить To_Date(:Date_Parameter)
на To_Date(:Date_Parameter,’MM/DD/YYYY’)
:
Обновление 2 - другие возможные обходные пути
Форсирование информации о культуре путем редактирования ReportViewer.aspx
Вы можете редактировать файл ReportViewer.aspx
, расположенный в каталоге служб отчетов SQL Server.и форсировать информацию о культуре, используемую в отчетах.Проверьте следующий вопрос, он даст вам более подробную информацию:
Изменениеязыковые настройки браузера
Проверьте следующую ссылку (прочитайте ответы Майка Хани и Ника St Mags) :
Обновление 3 - причина проблемы
В дополнение к тому, что @ DavidBrownie опубликовано, я нашелдокументация по SQL Server 2008 R2:
Где они упоминались:
Этот встроенный тип источника данных основан на .NET Framework Managed Provider for Oracle и требует компонента программного обеспечения клиента Oracle.
Также, если вы посмотрите документацию по SQL Server 2017:
Этот тип встроенного источника данных напрямую использует поставщик данных Oracle и требует компонента программного обеспечения клиента Oracle.
Кроме того, ссылка на Поставщик Microsoft OLE DB для Oracleдокументация (которая является старым использованным провайдером) .Они упомянули, что:
Эта функция будет удалена в следующей версии Windows.Избегайте использования этой функции в новых разработках и планируйте модифицировать приложения, которые в настоящее время используют эту функцию.Вместо этого используйте поставщика OLE DB для Oracle.
Именно поэтому сменился поставщик, используемый для подключения к Oracle в службах Reporting Services.