Параметр URL SSRS не будет установлен - PullRequest
0 голосов
/ 18 декабря 2010

У меня есть следующий код c # в веб-форме:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string url;
            string startdate;
            string enddate;
            string costcenter;
            string account;

            //url = "http://server/reportserver?/Finance/Cost Spending/Cost Center Details&rs:Command=Render&rc:Parameters=false";
            url = "http://server/reportserver?/Finance/Cost Spending/Cost Center Totals&rs:Command=Render&rc:Parameters=false";
            costcenter = "&costcenter=990";

            startdate="&startdate=" + Convert.ToString(txtStartDate.Text);
            enddate = "&enddate=" + Convert.ToString(txtEndDate.Text);

            account="&account=" + Convert.ToString(GridView1.SelectedRow.Cells[1].Text);

            url =url + startdate + enddate + costcenter + account;


            //TextBox1.Text = Convert.ToString(GridView1.SelectedRow.Cells[1].Text);
                Response.Redirect(url, false);

        }

Я проверил очень похожую версию этого кода на другой отчет, единственное отличие - параметр costcenter.Другой отчет работал нормально, но каждый раз, когда я запускаю этот код, я получаю сообщение об ошибке: «в параметре« costcenter »отсутствует значение».Единственное, что я могу думать о том, что эти два отчета существенно различаются, это то, что в отчете Итоги МВЗ параметр Costcenter используется для заполнения параметра счетов (оба являются множественными).страница выглядит так: parameters

Ответы [ 5 ]

2 голосов
/ 15 февраля 2011

Используете ли вы несколько наборов данных в своем отчете?Если это так, попробуйте настроить наборы данных для последовательного выполнения:

  1. Откройте диалоговое окно источника данных в конструкторе отчетов
  2. Установите флажок «Использовать одну транзакцию»

Некоторые другие действия по устранению неполадок, которые вы можете попробовать:

  • Попробуйте удалить команду сервера отчетов "& rs: Command = Render" из строки запроса и посмотрите, что произойдет.
  • Кроме того, если выизмените Команду Viewer на true, можете ли вы по крайней мере увидеть, что параметры заполнены правильно (например: "& rc: Parameters = true"?
1 голос
/ 16 февраля 2011

Убедитесь, что Costcenter 990 находится в вашей базе данных!

Я провел некоторое тестирование.У меня есть таблица "Person" с 4 строками и PersonID от 1 до 4. Если установить & PersonID = 5 для обязательного параметра с одним значением с "& rc: Parameters = true", то я получаю раскрывающийся список, чтобы выбрать4 действительных лица.

Если я установлю & PersonID = 5 с "& rc: Parameters = false", то получу сообщение "Параметру PersonID не хватает значения".

1 голос
/ 21 декабря 2010

У меня сложилось впечатление, что одно отличие между запуском отчета на веб-сервере и запуском его в коде заключается в том, что в коде он не беспокоится о запросах «Доступные значения» для параметров. В коде вы не выбираете удобочитаемую метку из выпадающего меню, которое затем передает соответствующее значение. Вместо этого вы просто указываете значение параметра.

Итак, вы пытались вообще не указывать параметр МВЗ? Если параметр account - это все наборы записей отчета, на которых действительно основаны данные, его установка может быть излишней.

Обновление:

С тех пор, как я написал этот ответ изначально, я узнал, что зависимые параметры (по крайней мере, в SSRS 2008) должны быть после параметров, от которых они зависят. Убедитесь, что ваши параметры упорядочены разумным образом.

Похоже, это то, что вы сделали, я просто хотел упомянуть о возможности.

0 голосов
/ 08 марта 2011

Я столкнулся с подобной проблемой. Удаление зависимости параметра заставило это работать. У меня был параметр B в зависимости от параметра A. Он работал отлично, когда вы обращаетесь к серверу отчетов напрямую. Но когда я попытался программно привязать его к элементу управления средства просмотра отчетов, даже после предоставления параметра с помощью ReportParameter и добавления в список параметров, он просто говорил, что «Параметр B отсутствует».

Итак, я вернулся на сервер отчетов. Повторно развернул отчет, удалив зависимости параметров. Это сработало. : -)

0 голосов
/ 17 февраля 2011

Хорошо, я разобрался с проблемой благодаря тому, что Алисон ткнула в параметры / наборы данных.Происходило то, что у меня было 4 параметра: дата начала, дата окончания, место возникновения затрат и счета.В отчете набор данных счета основывается на параметрах МВЗ для заполнения раскрывающегося списка.Я создал копию отчета, удалил параметр МВЗ и удалил набор данных из параметра счета.Я обновил код и запустил его и БАМ!Это сработало.

...