I have an SSRS report with english and arabic content ,i convert the report in VB.NET to stream of bytes and then send it to printer to print report ,without using report viewer.When i pass parameters from vb.net to ssrs using Report.SetParameters() the arabic content in the report reverses in some cases and it behaves abnormally (some letters in few words are reversed ,some are in correct order.Some words are reversed completely).The report prints correctly if i use report viewer and click on view report and print the report and it works fine on the report server however when i use VB.NET and pass parameters to SSRS the arabic content coming from database (AS400) behaves abnormally.I wanted to know if there is a way to pass parameters without using ReportViewer.SetParameters()
What i tried and why i came to this conclusion 1)I manually set parameters IN ssrs report with values ,and printed the report from vb.net application and didnt pass any parameters from VB.NET To SRRS .Report was printing correctly
2)I ran the report in report server in browser and passed the parameters in query string and the arabic content was printing correctly on report server .
rptPrinting.ServerReport.ReportPath = http://ServerName/ReportServer/UT
%20Documents/VHRSSALEPDU001&prsFRANCHISE=W&prsBRAN=00150&prsDEPT=10&prsPRNO=38578&prsCopy=Test&prsBanner=Y"
i also tried setting
report.ReportServerUrl = New System.Uri("http://ServerName/ReportServer?/UT+Documents/VHRSSALEPDU001&prsFRANCHISE=W&prsBRAN=00150&prsDEPT=10&prsPRNO=38578&prsCopy=Test&prsBanner=Y")
I wanted to know if there is some way other than Report.SetParameters() to send parameters like through query string from VB.NET to SSRS .So that i dont get the abnormal behaviour with arabic content .
My code where i pass parameters
report.ReportServerUrl = New System.Uri(ldtReportParameter.Rows(0).Item("RMREPTSERV").ToString.Trim)
report.ReportPath = ldtReportParameter.Rows(0).Item("RMREPTPATH").ToString.Trim
laIndividualParameters(0) = New ReportParameter("prsFRANCHISE", row.Cells(4).Text.ToString().Trim(), False)
laIndividualParameters(1) = New ReportParameter("prsBRAN", row.Cells(5).Text.ToString().Trim(), False)
laIndividualParameters(2) = New ReportParameter("prsDEPT", row.Cells(6).Text.ToString().Trim(), False)
laIndividualParameters(3) = New ReportParameter("prsPRNO", row.Cells(3).Text.ToString().Trim(), False)
laIndividualParameters(4) = New ReportParameter("prsCopy", row.Cells(2).Text.ToString().Trim(), False)
laIndividualParameters(5) = New ReportParameter("prsBanner", row.Cells(7).Text.ToString().Trim(), False)
report.SetParameters(laIndividualParameters)
ServerExport(report)//Function to convert report to stream of bytes and send to printer
When i copy paste this url directly in broswer i am getting the report
http://ServerName/ReportServer?/UT+Documents/VHRSSALEPDU001&prsFRANCHISE=W&prsBRAN=00150&prsDEPT=10&prsPRNO=38578&prsCopy=Test&prsBanner=Y