Ошибка исключения недопустимого параметра подписки на основе данных SSRS - PullRequest
0 голосов
/ 18 октября 2018

У меня есть отчет SSRS, который принимает 1 параметр (код сотрудника), длина которого может быть 3 или 4 символа.

Все коды работодателей хранятся в таблице работодателей вместе садрес электронной почты.

Я настроил управляемую данными подписку для чтения таблицы работодателей и выбора списка кодов работодателей и адресов электронной почты.Эти поля используются для заполнения поля «Кому» в настройках доставки электронной почты и значения параметра работодателя для отчета.

Подписка выбирает правильное количество строк (80 + работодателей) и дает сбой почти всеих.Проверяя журналы сервера, я вижу, что это недопустимое исключение параметра для параметра работодателя.Параметры не являются недопустимыми, хотя ...

Я тралял сетку в течение нескольких часов, и одной из возможных причин этой ошибки является то, что данные в таблице, которая управляет подпиской, изменяютсярегулярно, и поскольку ssrs проверяет параметры перед запуском, это вызывает ошибку.Не в моем случае - таблица работодателей является статической.

Другая возможная причина состоит в том, что значения, передаваемые параметру работодателя, являются неверными.Опять же, не в моем случае, отчет работает нормально, если он запускается вручную для каждого кода работодателя в таблице.

Я также обнаружил случай, когда конечные пробелы вызывали ошибку, поэтому я убедился,ltrim (rtrim ()) округляет код работодателя в выборе.

Затем я ограничил число работодателей до 3 (добавив tinyint (RunEmpReport) к моей таблице работодателей и выбрав только 1), чтобы я могпроверить быстрее.Как ни странно, я заметил, что если я запускаю подписку 3 раза без изменений, то только один отчет успешно создается при каждом запуске, но ЭТО БЫЛО РАЗЛИЧНЫМ РАБОТОДАТЕЛЕМ В КАЖДЫЙ РАЗ.Подразумевается, что с параметрами нет ничего недопустимого - просто случайным образом выбирается 2 для сбоя и один для запуска?

Наконец я ограничил его одним работодателем (имея только RunEmpReport, установленный против 1 работодателя в моей таблице), я запустилподписка 10 раз настраивала RunEmpReport для другого работодателя каждый раз, и она работала идеально - при условии, что выбран только один работодатель, что сводит на нет точку подписки, управляемой данными.

Извините за отсутствие фотографий/ фрагмент кода.Я разговариваю по телефону, потому что в моей работе интернет закрыт, а дома у меня нет доступа к ssrs.101

Любые идеи приветствуются

Та

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...