none
Error: Some parameters or credentials have not been specified on drill through report

    Question

  • I am creating a report of users' productivity.  I would like the main report to display the user name and location.  I would like to then click on the name to display the user's information.  The main report seems to be working,  but the drill through does not.  When I click on the hyperlink on the main report, I receive, "Some parameters or credentials have not been specified".  Can anyone tell me what I am doing wrong?   FYI:  I am using VS 2005 Professional and my datasource is a business object.  Thanks in advance.

    Private Sub ReportViewer1_Drillthrough(ByVal sender As Object, ByVal e As Microsoft.Reporting.WinForms.DrillthroughEventArgs) Handles ReportViewer1.Drillthrough
            Dim Detaildata As New List(Of ActionLogDetailData)
            Dim LocalReport As LocalReport

            LocalReport = e.Report
            Detaildata = ActionLogDetail.GetDetailData(txtUserid.Text)
            LocalReport.GetParameters()
            LocalReport.DataSources.Add(New ReportDataSource("EntityAbbr",  Detaildata))

                   Me.ReportViewer1.RefreshReport()

        End Sub
    End Class

    Thursday, September 28, 2006 7:17 PM

Answers

  • e.Report is an instance of LocalReport that represents the report you are drilling into.  ReportViewer.LocalReport is still set to the parent report.  After the drillthrough event, ReportViewer.LocalReport will be set to e.Report, but during the event the represent different reports.  You can see this by looking at the ReportPath (or ReportEmbeddedResource, depending on how you loaded the report) properties on each of them.
    Monday, October 23, 2006 12:31 AM
    Moderator

All replies

  • Since you are running in local mode, the problem is going to be with the parameters rather than credentials, since local mode doesn't use the data source connection information in your report definition.

    One or more of the parameters on your drillthrough report does not have a value.  There are two ways a drillthrough parameter can get a value: by having a default value, and by receiving a value from the parent report.

    You can determine which parameter is missing a value by calling ReportViewer.LocalReport.GetParameters.  Each parameter in the collection has a State property which will indicate whether it has a value and if not, why not.

    Friday, October 06, 2006 7:37 PM
    Moderator
  • Thanks for your reply, Mr. Hartman. 

    I have two more questions for you.  What is the difference between the Local Report I have declared and the Reportviewer.LocalReport?  I thought it was the same thing.

    This what I have dimmed. 

    Dim LocalReport as LocalReport

    LocaReport = e.Report........  e is the DrillthroughEventArgs

    Then I go and get the data.........

    Next, I set the LocalReport.DataSources = to what was returned.

    Then I set the ReportViewer1.LocalReport.SetParamaters.  All this seems like it should work. Am I using the wrong variable to get the data?

     

     

    Monday, October 09, 2006 2:33 PM
  • e.Report is an instance of LocalReport that represents the report you are drilling into.  ReportViewer.LocalReport is still set to the parent report.  After the drillthrough event, ReportViewer.LocalReport will be set to e.Report, but during the event the represent different reports.  You can see this by looking at the ReportPath (or ReportEmbeddedResource, depending on how you loaded the report) properties on each of them.
    Monday, October 23, 2006 12:31 AM
    Moderator
  • Hi,

     I dont have any parameters specified for the report and i am not drilling into the report. Its plain and simple local report which displays records from a dataset. It works fine until i close the report and open it again and it gives the error "Some parameters or credentials have not been supplied" when i run it in the debug mode i get the below message in the immediate window.

    Run-time exception thrown : System.ArgumentOutOfRangeException - Index was out of range. Must be non-negative and less than the size of the collection.

    Parameter name: index

     

    I tried to get the parameters (reportviewer.localreport.getparameters) but it does not return anything.

     

    HELP!!!!

     

    Adhi

    Monday, June 04, 2007 3:35 PM
  • Hi,

    Did you fix this issue? I am facing similar issue. It works fine on developement computer but in client machine I am getting following error
    "some parameters or credentials have not been specified"

    It works if When we press Refesh button of reportviewer control. I am already refreshing report in my code and that is why it works in development computer.

          localReport.Refresh();
          reportViewer1.LocalReport.Refresh();
          reportViewer1.RefreshReport();

    HELP!!!!

    Kathy
    Monday, April 27, 2009 3:26 AM
  • Hi Katty!

    I'm getting the same problem! Its works fine on development computer, but not on a computer with the installed solution (i.e. the client computer).

    Anyone have the solution!??? Help, please! ;)

    Thanks in advance...
    Thursday, November 12, 2009 6:12 PM
  • Hi!
    I have fixed this calling a refresh inside _onError method.

          reportViewer1.LocalReport.Refresh();
          reportViewer1.RefreshReport();
    Monday, November 16, 2009 11:36 PM
  • One other solution is to change

    ReportViewer.LocalReport.Refresh()

    To

    ReportViewer.LocalReport.ExecuteReportInCurrentAppDomain(System.Reflection.Assembly.GetExecutingAssembly().Evidence)
    • Proposed as answer by Vishwanadhu Sunday, December 11, 2011 11:01 PM
    • Unproposed as answer by Vishwanadhu Sunday, December 11, 2011 11:01 PM
    Wednesday, November 17, 2010 2:13 PM
  • FIX for Some parameters or credentials have not been specified on drill through report

    if stored prock WriteLockSession and CheckSession lock have line

    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

     

    then uncomment it

     

    in reportserver DB

    Sunday, December 11, 2011 11:02 PM