Преобразование даты SSRS работает при предварительном просмотре, но не на сервере развертывания

#sql-server #date #reporting-services

#sql-сервер #Дата #службы отчетов

Вопрос:

Хорошо, я немного сбит с толку, у меня есть выражение, которое преобразует дату в формат Великобритании, и, если убрать 3 года, выражение будет:

=cdate(формат(DateAdd(DateInterval.Год, -3, сейчас), «дд / ММ /гггг»))

Это работает успешно при предварительном просмотре отчета SSRS в VS2015, однако, когда я запускаю его на сервере развертывания, я получаю это сообщение:

Выражение defaultValue для параметра отчета ‘StartDate’ содержит ошибку: преобразование из строки «20/10/2013» в тип ‘Дата’ недопустимо. (rsRuntimeErrorInExpression)

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

Спасибо

Комментарии:

1. Что-то может быть с CultureInfo. Инвариантная культура. Я не уверен, как это реализовать в SSRS.

Ответ №1:

Это может быть связано с различиями в регионализации между вашей средой разработки и вашим сервером. Один из них будет dd/MM/yyyy , а другой MM/dd/yyyy . По возможности передавайте date типы или однозначные строковые форматы, такие как yyyy/MM/dd .