Вопрос по sql-server, sql-server-2008 – Не удалось выполнить запрос SSRS для набора данных

23

Только что развернул мой проект на моем сервере отчетов.

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

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

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 

Кто-нибудь может помочь?

Вам нужно включить удаленные ошибки, чтобы точно определить проблему. В противном случае вы угадываете. general exception
Для получения более подробной информации вам необходимо проверить файлы журналов на сервере SSRS. Они будут выглядеть примерно так: «C: \ Program Files (x86) \ Microsoft SQL Server \ MSRS10_50.DEV \ Reporting Services \ LogFiles \» или включать удаленные ошибки: Picnicerror.net / 2012/04/11 / ..." GShenanigan

Ваш Ответ

17   ответов
3

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

Спасибо за это, используя Oracle, вам нужно указать имя БД, например:FROM DBName.Table Jeremy Thompson
Да, это сработало, я не могу поверить, что столько времени я потратил на это ... Zly-Zly
3

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

10

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

Так что, используя инструмент «Дельта SQL», я сравнил версию базы данных для разработки с живой версией на сервере отчетов. Я заметил, что в одном из представлений есть дополнительный столбец на сервере разработки, которого нет в действующей версии базы данных.

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

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

Фактическая ошибка отображается при обращении к серверу отчетов с самого сервера (localhost). Dimuthu
8

не включая удаленные ошибки.

В построителе отчетов 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)

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

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

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

4

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

3

Для получения дополнительной информации об этой ошибке перейдите на сервер отчетов на локальном сервере или включите удаленные ошибки. Не удалось выполнить запрос для набора данных «PrintInvoice».

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

2) Даже несмотря на то, что в сообщении об ошибке указано «Query Failed Execution для набора данных», возможны и другие шансы с подключением к источнику данных, убедитесь, что вы подключились к правильному источнику данных, в котором есть нужные вам таблицы, и у вас есть права доступа к этому источнику данных. .

2

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

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

2

GShenanigan:

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

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

1

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

1

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

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

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

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

1

чтобы решить эту проблему,

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

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

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

Иногда нам нужно проверить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
1

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

GRANT EXECUTE ON dbo.StoredProcNameHere TO UsernameRunningreports
GO
1

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

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

1

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

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

1

имый скрипт sp_fixusers, и ошибка была устранена. Предложение выше посмотреть журналы было хорошим ... и оно привело меня к моему ответу.

1

уры хранения

0

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

Похожие вопросы