Подтвердить что ты не робот

Выполнение запроса SSRS не выполнено для набора данных

Разверните мой проект на моем сервере отчетов.

У меня есть несколько наборов данных, которые ссылаются на представления, которые существуют на db на этом сервере.

Когда я пытаюсь войти в какую-либо часть отчета, я получаю это сообщение:

An error has occurred during report processing. (rsProcessingAborted)
Query execution failed for dataset 'dataset1'. (rsErrorExecutingCommand)
For more information about this error navigate to the report server on the local server machine, or enable remote errors 

Может ли кто-нибудь помочь?

4b9b3361

Ответ 1

Я разрешил удаленные ошибки, чтобы выявить проблему.

Я обнаружил, что столбец в определенном наборе данных (один из моих представлений) выдает ошибку.

Таким образом, используя инструмент "SQL Delta", я сравнил версию разработки базы данных с живой версией на сервере отчетов. Я заметил, что в одном из представлений был дополнительный столбец на сервере разработки, который не был в живой версии db.

SQL Delta сгенерировал script мне нужно было запустить, чтобы обновить представление на моем live db.

Я запустил этот script, перезапустил отчет, все сработало.

Ответ 2

Я столкнулся с аналогичным сообщением об ошибке. Я смог исправить это, не допуская удаленных ошибок.

В построителе отчетов 3.0, когда я использовал кнопку Запустить для запуска отчета, появилось сообщение об ошибке, в котором говорилось, что

An error has occurred during report processing. (rsProcessingAborted)
[OK] [Details...]

Нажатие кнопки сведений дало мне текстовое поле, где я увидел этот текст:

For more information about this error navigate to the report server
on the local server machine, or enable remote errors
----------------------------
Query execution failed for dataset 'DataSet1'. (rsErrorExecutingCommand)

Я был сбит с толку и разочарован, потому что в моем отчете не было набора данных с именем "DataSet1". Я даже открыл файл .rdl в текстовом редакторе, чтобы быть уверенным. Через некоторое время я заметил, что в текстовом поле ниже появилось больше текста, который я мог прочитать. Полное сообщение об ошибке:

For more information about this error navigate to the report server
on the local server machine, or enable remote errors
----------------------------
Query execution failed for dataset 'DataSet1'. (rsErrorExecutingCommand)

----------------------------
The execution failed for the shared data set 'CustomerDetailsDataSet'.  
(rsDataSetExecutionError)
----------------------------
An error has occurred during report processing. (rsProcessingAborted)

У меня был общий набор данных с именем "CustomerDetailsDataSet". Я открыл запрос (который был полным SQL-запросом, введенным в текстовом режиме) в SQL Server Management Studio и запустил его там. Я получил сообщения об ошибках, которые явно указывали на определенную таблицу, где столбец, который я использовал, был переименован и изменен.

С этой точки зрения было просто изменить мой запрос, чтобы он работал с новым столбцом, а затем вставлял эту модификацию в общий набор данных "CustomerDetailsDataSet", а затем подталкивал отчет в построителе отчетов, чтобы распознать изменение в общий набор данных.

После этого исправления мои отчеты больше не вызвали эту ошибку.

Ответ 3

У меня возникла одна и та же проблема, это связано с тем, что безопасность не предоставляется части таблиц. проверьте, что ваш пользователь имеет доступ к базам данных/таблицам/представлениям/функциям и т.д., используемым в отчете.

Ответ 4

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

Ответ 5

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

Ответ 6

У меня была аналогичная проблема с ошибкой

Для получения дополнительных сведений об этой ошибке перейдите к серверу отчетов на локальный сервер или включить удаленные ошибки. Выполнение запроса для набора данных 'PrintInvoice' не удалось выполнить.

Решение: 1) В некоторых случаях ошибка может быть связана с набором данных, вы всегда можете проверить, заполняет ли набор данных точные данные, которые вы ожидаете, перейдя к свойствам набора данных и выбрав "Дизайнер запросов" и попробуйте "Запустить", если вы можете успешно в состоянии вытащить поля, которые вы ожидаете, тогда вы можете быть уверены, что нет никаких проблем с набором данных, что приведет нас к следующему решению.

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

Ответ 7

В моей ситуации я создал новый отчет SSRS и новую хранимую процедуру для набора данных. Я забыл добавить хранимую процедуру к роли базы данных, которая имела разрешение на ее выполнение. Как только я добавил разрешения на роль базы данных SQL с EXECUTE, все было в порядке!

Сообщение об ошибке, обнаруженное пользователем, было "Ошибка при рендеринге клиента". Во время обработки отчета произошла ошибка (rsProcessingAborted). Выполнение запроса не выполнено для набора данных "DataSet1". (rsErrorExecutingCommand) Для получения дополнительной информации... "

Ответ 8

Решение для меня взято из GShenanigan:

Для получения более подробной информации вам нужно будет проверить свои файлы журналов на сервере SSRS. Они будут где-то вроде: "C:\Program Files (x86)\Microsoft SQL Server\MSRS10_50.DEV\Reporting Services\LogFiles \"

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

Ответ 9

У меня также была очень похожая проблема с очень похожим сообщением об ошибке. Моя проблема заключалась в невозможности подключения базы данных. В нашем случае у нас есть зеркальные базы данных, а в строке подключения не указан Партнер по отказоустойчивости. Поэтому, когда база данных не могла подключиться, она никогда не попадала в зеркало и бросала эту ошибку. После того, как я указал партнера по отказоустойчивости в строке подключения для своего источника данных, он решил проблему.

Ответ 10

BIGHAP: ПРОСТОТА РАБОТЫ ВОКРУГ НА ЭТОЙ ВЫПУСК.

Я столкнулся с той же проблемой при работе с списками SharePoint в качестве источника данных и прочитал блоги выше, которые были очень полезными. Я внес изменения в имена объектов DataSource и Data и поля запроса в Visual Studio, а запрос работал в visual Studio. Мне удалось развернуть отчет в SharePoint, но когда я попытался открыть его, я получил ту же ошибку.

Я догадался, что проблема в том, что мне нужно было перераспределить DataSource и DataSet в SharePoint, чтобы все изменения в инструментах рендеринга были синхронизированы.

Я повторно развернул DataSource, DataSet и Report в sharePoint, и он сработал. Как сказал один из блогов, хотя визуальная студия допускала изменения, внесенные мной в набор данных и источник данных, если вы не установили визуальную студию для автоматического повторного развертывания источника данных и набора данных при развертывании отчета (что может быть опасно, поскольку это может повлиять на другие отчеты, которые разделяют эти объекты), эта ошибка может произойти.

Итак, конечно, исправление заключается в том, что в этом случае вам необходимо повторно установить источник данных, набор данных и отчет для решения проблемы.

Ответ 11

Я также столкнулся с той же проблемой - я проверил ниже, чтобы исправить эту проблему,

  • Если вы недавно изменили имя базы данных указателя в источнике данных
    то сначала проверьте, что все процедуры хранения для этого отчета существуют на измененной базе данных.

  • Если в основном отчете есть несколько вспомогательных отчетов, убедитесь, что каждый отчет индивидуально работает отлично.

  • Также проверьте панель безопасности - пользователь должен иметь доступ к базам данных/ таблицы/представления/функции для этого отчета.

Иногда нам также нужно проверить dataset1 - процедуру хранения. Как будто вы пытаетесь показать отчет с помощью user1, и если у этого пользователя нет access(rights) предоставленной базы данных (dataset1 database), тогда он будет вызывать ту же ошибку, что и выше, поэтому необходимо проверить, что у пользователя есть доступ к dbreader в SQL Server.

Кроме того, если эта процедура хранения содержит некоторую другую базу данных (Database2), например

Select * from XYZ inner join Database2..Table1 on ... where...

Тогда у пользователя также должен быть доступ к этой базе данных.

Примечание. вы можете проверить файлы журнала на этом пути для более подробной информации,

C:\Program Files\Microsoft SQL Server\MSRS11.SQLEXPRESS\Reporting Services

Ответ 12

Очень благодарен, что нашел этот отличный пост. Что касается моего случая, пользователь, выполняющий хранимую процедуру, не имел разрешений EXECUTE. Решением было предоставить разрешения EXECUTE для пользователя в хранимой процедуре, добавив ниже код в конец хранимой процедуры.

GRANT EXECUTE ON dbo.StoredProcNameHere TO UsernameRunningreports
GO

Ответ 13

У меня такая же ошибка, но это сработало и решило мою проблему

Если отчет подключен к серверу Analysis, то предоставите требуемое разрешение пользователю (который обращается к серверу отчетов для просмотра отчетов) в вашей модели сервера анализа. Для этого добавить пользователя в роли модели или куба и развернуть модель на сервере анализа.

Ответ 14

Используя SSRS, построитель отчетов 3.0, MSSQL 2008 и запрос к базе данных Oracle 11G, Я обнаружил, что хранимая процедура оракула прошла хорошо, дала согласованные результаты без ошибок. Когда я попытался привести данные в SSRS, я получил ошибку, указанную в OP-запросе. Я обнаружил, что данные загружены и отображаются, только если я удалил параметры (не очень хорошая идея). При дальнейшем рассмотрении я обнаружил, что в свойствах данных > параметров я установил дату начала параметруName P_Start и значение параметра в значение @P_Start.

Добавление значения параметра как [@P_Start] устранило проблему, и данные загружаются с параметрами на месте.

Ответ 15

Эта проблема была вызвана сиротским входом SQL. Я запустил свои любимые sp_fixusers script, и ошибка была решена. Предложение выше, чтобы посмотреть на журналы, было хорошим... и это привело меня к моему ответу.

Ответ 16

Это может быть проблема с разрешением для вашего просмотра или процедуры хранения

Ответ 17

В дополнение к приведенным выше ответам, это может быть связано с отсутствием хранимой процедуры SQL или функции SQL. Например, это может быть связано с тем, что функция не мигрирует из непроизводительного региона в производственный (прод).

Ответ 18

У меня также была очень похожая проблема с очень похожим сообщением об ошибке, я внес некоторые изменения в свою хранимую процедуру, прежде чем создавать DataSet в приложении-отчете, выполнить вашу хранимую процедуру и убедиться, что она работает нормально.