0

I have a report built in SSRS 2008 and I have a problem when the user passed a large csv as a parameter to the ReportViewer component within a web page.

I have tested the full parameter within SSRS and the report is generated but when passing through the information via the ReportView a Javascript error is thrown

Failing parameters

https://somedomain.com/reportviewer.aspx?Path=/somedomain.com/Report&DateStart=1-Aug-2014&DateEnd=31-Aug-2014&LCRep=akal1,acor1,alan1,aavi1,acus1,arya1,amou1,abal1,afbo1,aack1,andr1,awan1,afuq1,amco1,abou1,afee1,abia1,anth1,asca1,apsi1,agol1,acol1,alab1,btar1,blee1,bmay1,bmcc1,bbou1,rbac1,bcol1,bcur1,rkom1,rtra1,bgmo1,bhat1,bshe1,brad1,bmor1,bffl1,BHur1,bmck1,btri1,bwoh1,bjem1,bomi1,bkmc1,cmeu1,cfer1,carl1,csan1,csie1,cber1,cwbl1,cjcc1,cmda1,cdro1,ceva1,cgha1,crol1,cwas1,chus1,chhe1,cpai1,cpod1,ccal1,cbee1,clyd1,ccas1,cbie1,cchu1,cphi1,damo1,dhug1,dcac1,drol1,dani1,dwon1,dhag1,dalb1,dbar1,dgol1,wgre1,dgre1,dloo1,dmac1,davi1,dawn1,dkun1,djan1,derr1,dpac1,dwig1,egor1,epit1,elei1,ejam1,eken1,emag1,emac1,ebur1,eric1,ewin2,egol1,emod1,efar1,floy1,fnep1,fmag1,fcha1,ghay1,gtuc1,gbab1,ewin1,gdem1,geoc1,gsla1,gjuk1,ggri1,hpuc1,heck1,hjca1,hiki1,imic1,ifer1,igon1,jacq1,jmwi1,jbye1,jgut1,jgam1,jaga1,jwes2,jber1,wbur1,jjer1,jmor1,jtay1,jwax1,jbra1,jkee1,jgue1,jlam1,jnau1,jpel1,jlid1,jnha1,jboh1,jmax1,jwen1,jsac1,jing1,jdow1,jgil1,jgri1,john1,joss1,jpro1,jgsh1,jsta1,jjva1,jsev1,jfis1,jcar1,jcof1,jcfe1,jwpa1,jleo1,knar1,kbut1,kcur1,kary1,kafo1,kqua1,kare1,kbri1,kbai1,kgal1,kmar1,ktin1,khor1,kjor1,kdle1,kmul1,kbit1,kbot1,kebe1,ksch1,lros1,lsie1,lgro1,lcai1,ldev1,llha1,lesl1,ljri1,llaf1,msam1,mwda1,mhya1,mwil1,mkle1,miac1,mboh1,mcap1,mcla1,mmck1,mpmu1,mswi1,mtre1,mshe1,mhee1,mmar1,mrob1,mrud1,mgal1,nhow1,nmac1,npar1,nbel1,nico1,nman1,nand1,peng1,pzon1,prob1,pall1,pber1,pdar1,pdoy1,pfis1,pgod1,plam1,pbel1,pmck1,pcas1,pjen1,pone1,pkas1,pgui1,plav1,rand1,rfur1,rpan1,rpoc1,rtor1,rjsc1,rsta1,rduv1,rkra1,rluo1,rpoh1,rmou1,rcjo1,rfar1,regr1,rtai1,rbej1,rcov1,rpas1,rqui1,rwar1,rkli1,rwow1,spec1,ssca1,sian1,sdhi1,scot1,rjun1,slod1,snic1,scot2,sean1,shar1,cosh1,shei1,smas1,silv1,smil1,ssny1,svaq1,agre1,sgur1,shbr1,sher1,sjmu1,spap1,sjro1,sser1,sske1,such1,sore1,tcol1,tsau1,tnap1,tnea1,tdie1,tjfa1,tmur1,tach1,tmin1,trit1,tdra1,tlac1,tnew1,tsik1,vwor1,vsor1,vjua1,vmoo1,vchi1,wawi1,wqch1,wbow1,whun1,wley1,wyat1,waba1,wwis1

This is the Javascript exception I get back.

Unhandled exception at line 885, column 13 in http://somedomain.com:54821/ScriptResource.axd?d=VSuDvN4lmXp8v30Y-Tdw_ULVtosEuP4ipSMcwgw1ALEydnNZvMTFeuT3gKKJbjEPOhKXYnOLoHZl9-dfg1JeFAnpDaWGe1i6ERWN4bL9ZaOEoZWt42dwIsT8R5we_2n8S2D9sjkYf43p-LOD6vL5jVd1mKYQjrDo5hNpHtcFx5D_-3QzpoOJZF9kKCx6injg0&t=ffffffffb53e74b8

0x800a139e - JavaScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 404

Passing query

If I reduce the number of items in the LCRep parameter then the report is generated.

https://somedomain.com/reportviewer.aspx?Path=/somedomeain.com/report&DateStart=1-Aug-2014&DateEnd=31-Aug-2014&LCRep=akal1,acor1,alan1,aavi1,acus1,arya1,amou1,abal1,afbo1,aack1,andr1,awan1,afuq1,amco1,abou1,afee1,abia1,anth1,asca1,apsi1,agol1,acol1,alab1,btar1,blee1,bmay1,bmcc1,bbou1,rbac1,bcol1,bcur1,rkom1,rtra1,bgmo1,bhat1,bshe1,brad1,bmor1,bffl1,BHur1,bmck1,btri1,bwoh1,bjem1,bomi1,bkmc1,cmeu1,cfer1,carl1,csan1,csie1,cber1,cwbl1,cjcc1,cmda1,cdro1,ceva1,cgha1,crol1,cwas1,chus1,chhe1,cpai1,cpod1,ccal1,cbee1,clyd1,ccas1,cbie1,cchu1,cphi1,damo1,dhug1,dcac1,drol1,dani1,dwon1,dhag1,dalb1,dbar1,dgol1,wgre1,dgre1,dloo1,dmac1,davi1,dawn1,dkun1,djan1,derr1,dpac1,dwig1,egor1,epit1,elei1,ejam1,eken1,emag1,emac1,ebur1,eric1,ewin2,egol1,emod1,efar1,floy1,fnep1,fmag1,fcha1,ghay1,gtuc1,gbab1,ewin1,gdem1,geoc1,gsla1,gjuk1,ggri1,hpuc1,heck1,hjca1,hiki1,imic1,ifer1,igon1,jacq1,jmwi1,jbye1,jgut1,jgam1,jaga1,jwes2,jber1,wbur1,jjer1,jmor1,jtay1,jwax1,jbra1,jkee1,jgue1,jlam1,jnau1,jpel1,jlid1,jnha1,jboh1,jmax1,jwen1,jsac1,jing1,jdow1,jgil1,jgri1,john1,joss1,jpro1,jgsh1,jsta1,jjva1,jsev1,jfis1,jcar1,jcof1,jcfe1,jwpa1

Any idea why the extended parameter list is causing this failure?

Edit

The report is generated up to this point

http://somedomain.com/ReportViewer.aspx?Path=/Report&DateStart=1-Aug-2014&DateEnd=31-Aug-2014&LCRep=akal1,acor1,alan1,aavi1,acus1,arya1,amou1,abal1,afbo1,aack1,andr1,awan1,afuq1,amco1,abou1,afee1,abia1,anth1,asca1,apsi1,agol1,acol1,alab1,btar1,blee1,bmay1,bmcc1,bbou1,rbac1,bcol1,bcur1,rkom1,rtra1,bgmo1,bhat1,bshe1,brad1,bmor1,bffl1,BHur1,bmck1,btri1,bwoh1,bjem1,bomi1,bkmc1,cmeu1,cfer1,carl1,csan1,csie1,cber1,cwbl1,cjcc1,cmda1,cdro1,ceva1,cgha1,crol1,cwas1,chus1,chhe1,cpai1,cpod1,ccal1,cbee1,clyd1,ccas1,cbie1,cchu1,cphi1,damo1,dhug1,dcac1,drol1,dani1,dwon1,dhag1,dalb1,dbar1,dgol1,wgre1,dgre1,dloo1,dmac1,davi1,dawn1,dkun1,djan1,derr1,dpac1,dwig1,egor1,epit1,elei1,ejam1,eken1,emag1,emac1,ebur1,eric1,ewin2,egol1,emod1,efar1,floy1,fnep1,fmag1,fcha1,ghay1,gtuc1,gbab1,ewin1,gdem1,geoc1,gsla1,gjuk1,ggri1,hpuc1,heck1,hjca1,hiki1,imic1,ifer1,igon1,jacq1,jmwi1,jbye1,jgut1,jgam1,jaga1,jwes2,jber1,wbur1,jjer1,jmor1,jtay1,jwax1,jbra1,jkee1,jgue1,jlam1,jnau1,jpel1,jlid1,jnha1,jboh1,jmax1,jwen1,jsac1,jing1,jdow1,jgil1,jgri1,john1,joss1,jpro1,jgsh1,jsta1,jjva1,jsev1,jfis1,jcar1,jcof1,jcfe1,jwpa1,jleo1,knar1,kbut1,kcur1,kary1,kafo1,kqua1,kare1,kbri1,kbai1,kgal1,kmar1,ktin1,khor1,kjor1,kdle1,kmul1,kbit1,kbot1,kebe1,ksch1,lros1,lsie1,lgro1,lcai1,ldev1,llha1,lesl1,ljri1,llaf1,msam1,mwda1,mhya1,mwil1,mkle1,miac1,mboh1,mcap1,mcla1,mmck1,mpmu1,mswi1,mtre1,mshe1,mhee1,mmar1,mrob1,mrud1,mgal1,nhow1,nmac1,npar1,nbel1,nico1,nman1,nand1,peng1,pzon1,prob1,pall1,pber1,pdar1,pdoy1,pfis1,pgod1,plam1,pbel1,pmck1,pcas1,pjen1,pone1,pkas1,pgui1,plav1,rand1,rfur1

The LCRep parameter contains 242 items totaling 1451 characters including commas.

Faulting Javascript

Code breaks on the throw error; line

function Sys$WebForms$PageRequestManager$_endPostBack(error, executor, data) {
    if (this._request === executor.get_webRequest()) {
        this._processingRequest = false;
        this._additionalInput = null;
        this._request = null;
    }
    var handler = this._get_eventHandlerList().getHandler("endRequest");
    var errorHandled = false;
    if (handler) {
        var eventArgs = new Sys.WebForms.EndRequestEventArgs(error, data ? data.dataItems : {}, executor);
        handler(this, eventArgs);
        errorHandled = eventArgs.get_errorHandled();
    }
    if (error && !errorHandled) {
        throw error;
    }
}
Phil Murray
  • 6,396
  • 9
  • 45
  • 95
  • What is on line 885 of the source code? – Tab Alleman Feb 17 '15 at 14:28
  • Updated question with the Javascript code from the ReportViewer component. – Phil Murray Feb 17 '15 at 15:21
  • It seems to not like your error variable... what data type is that? – Jeffrey Van Laethem Feb 17 '15 at 20:39
  • @JeffreyVanLaethem Which data type? This Javascript is from the Microsoft Report Viewer component. – Phil Murray Feb 18 '15 at 08:37
  • Perhaps the javascript is running a urlencode on the URL, causing it to expand past the Internet Explorer URL length limitation of 2083. – JC Ford Feb 18 '15 at 17:46
  • @JC. I think you've hit the issue. If you want to create and answer perhaps referencing this http://support.microsoft.com/KB/208427 and http://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers I will make as the answer. – Phil Murray Feb 19 '15 at 09:51
  • I might have provided the spark, but you did the research. Glad you found it helpful. You might open another question asking about alternatives to really long multiselect parameters in querystrings. – JC Ford Feb 19 '15 at 13:11

1 Answers1

0

Looks like the problem is down to the length of the URL. This has been discussed in this Stackoverflow post and also in this article from Microsoft

enter image description here

I think JC. had the right idea that the encoding was pushing it over the length limitations and causing the strange failure in the ReportViewer. Thanks for the help JC.

Community
  • 1
  • 1
Phil Murray
  • 6,396
  • 9
  • 45
  • 95