Запрос работает в конструкторе запросов, но не в построителе отчетов MS SQL Server.

При использовании построителя отчетов Microsoft SQL Server я могу выполнить запрос в конструкторе запросов и получить результат. В запросе есть предложение where для дат.

select * from table where DB_timestamp > to_date(:StartDate, 'mm/dd/yyyy') and DB_timestamp <  to_date(:EndDate, 'mm/dd/yyyy')

При выполнении я получаю всплывающее окно, в котором я ввожу две переменные (StartDate & EndDate) в заданных форматах. Теперь, когда я пытаюсь запустить то же самое для создания отчета, мне нужно выбрать две переменные с помощью средства выбора календаря. Хотя даты отображаются в нужном формате, я всегда получаю ошибку ниже:

An error occured during local report processing.
 Query execution failed for dataset 'XYZ'.
ORA-01843: not a valid month

Что может вызвать успешное выполнение запроса в одном месте, но вызвать ошибку, когда переменные выбираются средством выбора календаря?

2 ответа

Решение

Должно быть какое-то культурное столкновение. Если SSRS отправляет дд / мм / гггг, а ваш дБ ожидает, что мм / дд / гггг все будет работать не так, как ожидалось, или даже зависнет в определенные даты.

Я бы удалил функцию to_date из предложения where, например

where DB_timestamp > :StartDate and ...

Другие вопросы по тегам