2012-09-26 42 views
8

Tôi đang cố gắng mở báo cáo ssrs trên các trang web của mình bằng ReportViewer. Đối với URL Báo cáo Serverl tôi có:cách mở báo cáo ssrs từ trang web asp bằng trình xem báo cáo

http://db_servers/ReportsServer_SENSORSQLSERVER 

và cho con đường báo cáo của tôi, tôi có:

http://db_servers/ReportsServer_SENSORSQLSERVER/Pages/ReportViewer.aspx?%2fCustomer1&rs:Command=Render. 

tôi đã xem xét thông qua nhiều trang web và hướng dẫn về làm thế nào để thêm URL nhưng tôi vẫn nhận được một lỗi nói : Độ dài của liên kết của tôi phải dài dưới 260 ký tự. (rsInvalidItemPath). Tôi cũng muốn đề cập rằng máy chủ báo cáo của tôi ở chế độ Gốc. Máy chủ báo cáo của tôi nằm trong một máy tính khác vì vậy tôi đảm bảo chế độ xử lý trên trình xem báo cáo của tôi ở xa. Bất cứ khi nào tôi đi đến url của người phụ trách, tôi có thể thấy rõ danh sách báo cáo của mình và khi tôi nhấp vào một báo cáo, tôi cũng có thể thấy báo cáo này để tôi biết các url của tôi là chính xác. Tôi đã thử bao gồm dấu gạch chéo ở trước url đường dẫn báo cáo của tôi, thay thế "2% f" bằng dấu cách. Không có gì có vẻ hiệu quả. Bất kỳ ý tưởng? Cảm ơn.

Trả lời

10

Bạn cần phải tách URL ra máy chủ, báo cáo đường dẫn và thêm tham số vào mảng tham số.

Dưới đây là một ví dụ:

protected void Page_Init(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
     // Set the processing mode for the ReportViewer to Remote 
     reportViewer.ProcessingMode = ProcessingMode.Remote; 

     ServerReport serverReport = reportViewer.ServerReport; 

     // Set the report server URL and report path 
     serverReport.ReportServerUrl = 
      new Uri("http://<Server Name>/reportserver"); 
     serverReport.ReportPath = 
      "/AdventureWorks Sample Reports/Sales Order Detail"; 

     // Create the sales order number report parameter 
     ReportParameter salesOrderNumber = new ReportParameter(); 
     salesOrderNumber.Name = "SalesOrderNumber"; 
     salesOrderNumber.Values.Add("SO43661"); 

     // Set the report parameters for the report 
     reportViewer.ServerReport.SetParameters(
      new ReportParameter[] { salesOrderNumber }); 
    } 
} 

Trên lấy từ Using the WebForms ReportViewer Control.

+0

nhờ trả lời của bạn. Tôi đã thử ở trên và tôi vẫn có một lỗi nói rằng: "mục thư mục/reportname không thể được tìm thấy. (RsItemNotFound) – Rick

+0

Tôi không chắc bạn có đường dẫn chính xác cho báo cáo. Nó sẽ giống như/báo cáo thư mục/báo cáo tên .... Những gì bạn có trong mẫu của bạn dường như là đường dẫn được dán từ GUI máy chủ báo cáo .... Nếu báo cáo của bạn nằm trong một thư mục có tên MySales và bên trong báo cáo có tên Sales2012 thì bạn sẽ muốn đường dẫn báo cáo là/MySales/Sales2012. – klabranche

1

Bạn nên thay thế "2%f" theo "/".

Vấn đề là với tài sản ReportPath của bạn, ví dụ:

%2fCustomer1 ->/Customer1

Các vấn đề liên quan