Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / SSRS 2008 Установка параметров / 18 сообщений из 18, страница 1 из 1
01.04.2010, 14:58
    #36555666
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
Здравствуйте!
В отчете имеются два параметра:
RP_Date тип: дата-время, значение по умолчанию = ToDay()
RP_id_Company тип: целое число, значение по умолчанию = 96

Данный отчет необходимо получить программно, в формате pdf.
Соответственно пишу код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
private Warning[] warnings;
private string[] streamids;
private string mimeType;
private string encoding;
private string extension;
ReportViewer rv = new ReportViewer();
ServerReport sr = rv.ServerReport;
sr.ReportServerUrl = new System.Uri("http://reportserver", System.UriKind.Absolute);

List<ReportParameter> ReportParameters = new List<ReportParameter>();
ReportParameters.Add(new ReportParameter("RP_Date", Form.DateParam.ToString()));
ReportParameters.Add(new ReportParameter("RP_id_Company", "157"));

sr.ReportPath = "/" + ReportName;
sr.SetParameters(ReportParameters);
byte[] bytes = sr.Render(Format, null, out Reports.mimeType, out Reports.encoding, out Reports.extension, out Reports.streamids, out Reports.warnings);
using (System.IO.FileStream FS = new System.IO.FileStream(FileName, System.IO.FileMode.Create))
{
     FS.Write(bytes,  0 , bytes.Length);
     FS.Close();
};
Но этот код выдает ошибку, которая указана в приложении.
Что интересно, если удалить один параметр в отчете и закомментировать строчку
Код: plaintext
ReportParameters.Add(new ReportParameter("RP_id_Company", "157"));
, то все работает как надо. Если использовать два параметра, ошибка происходит на строчке, где идет присвоение списка параметров отчета самому отчету:
Код: plaintext
sr.SetParameters(ReportParameters);
Почему не получается задавать два параметра?
...
Рейтинг: 0 / 0
01.04.2010, 15:18
    #36555749
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
rsolanov,
А если так:
Код: plaintext
1.
ReportParameters.Add(new ReportParameter("RP_id_Company",  157 ));
...
Рейтинг: 0 / 0
01.04.2010, 15:50
    #36555884
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
Bigheadmanrsolanov,
А если так:
Код: plaintext
1.
ReportParameters.Add(new ReportParameter("RP_id_Company",  157 ));

Bigheadman, дело в том, что этот вариант перегруженного конструктора имеет оба параметра типа string. Ведь дату я тоже передаю как строку и все работает. Еще один обнаруженный момент, если параметр с датой не передавать (это можно делать, поскольку оба параметра имеют значения по умолчанию), то все работает. Но постановка задачи требует указывать оба параметра. Уже все перепробовал, как исправить это не знаю.
...
Рейтинг: 0 / 0
01.04.2010, 16:04
    #36555926
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
rsolanov,
Попробуйте сначала поиграться на отчетах из AdventureWorks. Код аналогичный вашему в MSDN - здесь .
Если на AdventureWorks будет работать, то шаг за шагом ищите ошибку у себя (ориентируясь на код из MSDN).
P.S. Сдается мне, что вы неверно указали ReportServerUrl.
...
Рейтинг: 0 / 0
01.04.2010, 16:20
    #36555997
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
Bigheadmanrsolanov,
Попробуйте сначала поиграться на отчетах из AdventureWorks. Код аналогичный вашему в MSDN - здесь .
Если на AdventureWorks будет работать, то шаг за шагом ищите ошибку у себя (ориентируясь на код из MSDN).
P.S. Сдается мне, что вы неверно указали ReportServerUrl.
Большое спасибо, да, сейчас посмотрю MSDN, а что касается ReportServerUrl, то как мне думается что если бы я не правильно указал ReportServerUrl, то отчет вообще не строился бы, а если параметры вообще не задавать, то все прекрасно работает, отчет в таком случае отображает все данные, соответствующие параметрам, значения которых выставлены по умолчанию.
...
Рейтинг: 0 / 0
01.04.2010, 16:31
    #36556030
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
Bigheadman, действительно код один в один как у меня. Но у меня один параметр не работает. Ничего не понимаю.
...
Рейтинг: 0 / 0
01.04.2010, 16:36
    #36556048
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
rsolanovBigheadman, действительно код один в один как у меня. Но у меня один параметр не работает. Ничего не понимаю.1) У вас отличается URL сервера.
2) Вы используете различные конструкторы ReportParameter.

Сравните определения отчетов из AdvWorks со своими. Возможно что-то не так с вашими отчетами.
...
Рейтинг: 0 / 0
01.04.2010, 23:11
    #36556731
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
rsolanov,
Протестировал аналогичный код на своем отчете с двумя целочисленными параметрами - проблем не было.
Кстати в вашем случае "157" является валидным значением? Как задаются значения параметра RP_id_Company допустимы? Любое целое, выбор из списка, выбор из датасета?
...
Рейтинг: 0 / 0
02.04.2010, 09:32
    #36557001
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
Bigheadmanrsolanov,
Протестировал аналогичный код на своем отчете с двумя целочисленными параметрами - проблем не было.
Кстати в вашем случае "157" является валидным значением? Как задаются значения параметра RP_id_Company допустимы? Любое целое, выбор из списка, выбор из датасета?
Параметр RP_id_Company:
Допустимые значения для этого параметра - "Получать значения из запроса"
Запрос этого датасета с параметром RP_Date. То есть параметр RP_id_Company зависит от параметра RP_Date, но на тот день значение параметра RP_id_Company было верным. Может надо сначала передать один параметр, затем обновить датасет и только потом передавать зависимый параметр? Что интересно, в диспетчере отчетов этот отчет работает прекрасно.
...
Рейтинг: 0 / 0
02.04.2010, 09:52
    #36557036
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
rsolanovПараметр RP_id_Company:
Допустимые значения для этого параметра - "Получать значения из запроса"
Запрос этого датасета с параметром RP_Date. То есть параметр RP_id_Company зависит от параметра RP_Date, но на тот день значение параметра RP_id_Company было верным.Вот этот момент советую внимательно перепроверить.rsolanovМожет надо сначала передать один параметр, затем обновить датасет и только потом передавать зависимый параметр?Честно говоря, не знаю как это можно сделать через API.
В моем отчете было два целочисленных параметра. Каждый строится на основе датасета. При этом второй датасет зависит от первого параметра. Я задал по аналогии с вашим кодом два конкретных значения параметров (оба являются корректными) - как уже писал, проблем не обнаружил.
...
Рейтинг: 0 / 0
02.04.2010, 10:25
    #36557098
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
Bigheadman,
Чудо какое-то... Все перепроверил, все перепробовал, постоянно одна и та же ошибка, хотя в диспетчере отчетов все работает. Буду проверять дальше.
...
Рейтинг: 0 / 0
02.04.2010, 10:28
    #36557105
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
Bigheadman,
Вы не могли бы скинуть свой шаблон отчета, который Вы создали по аналогии?
...
Рейтинг: 0 / 0
02.04.2010, 11:27
    #36557264
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
rsolanov,
Не могу, т.к. он из реального проекта, соответственно NDA и все такое.
Я вам еще вчера посоветовал эксперименты ставить на отчетах и примерах AdventureWorks.
...
Рейтинг: 0 / 0
02.04.2010, 12:02
    #36557373
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
Bigheadmanrsolanov,
Не могу, т.к. он из реального проекта, соответственно NDA и все такое.
Я вам еще вчера посоветовал эксперименты ставить на отчетах и примерах AdventureWorks.
Образцы примеров AdventureWorks для SSRS доступны только для x86, поэтому сейчас устанавливаю виртуальную машину, на которую будет установлено все необходимое программное обеспечение.
Bigheadman, огромное Вам спасибо за помощь, думаю что на этих образцах я и разберусь что к чему.
...
Рейтинг: 0 / 0
02.04.2010, 12:09
    #36557393
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
rsolanov,
Базы данных здесь . Примеры здесь . Все доступно как x86, так и x64.
...
Рейтинг: 0 / 0
02.04.2010, 13:14
    #36557629
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
Bigheadmanrsolanov,
Базы данных здесь . Примеры здесь . Все доступно как x86, так и x64.
Я все понял, просто я имел в виду образцы AdventureWorks2008_SR4 , большое спасибо, обойдемся и образцами 2005
...
Рейтинг: 0 / 0
02.04.2010, 14:21
    #36557879
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
AdventureWorks2008_SR4 у меня без проблем встали на x64.
...
Рейтинг: 0 / 0
02.04.2010, 15:05
    #36558038
rsolanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSRS 2008 Установка параметров
BigheadmanAdventureWorks2008_SR4 у меня без проблем встали на x64.
Такой ложный вывод я сделал, когда у меня дома эти образцы не установились. А на рабочий сервер все прекрасно установилось. :)
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / SSRS 2008 Установка параметров / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]