Wednesday, March 28, 2012

parameter length limitation

Hi,
I am using sql reporting services 2000, i am trying to pass a parameter with
the length of 3000 character and since the URL limitation is 2040 i used the
post method as follow
<FORM name=Form1 method="post" target="_self" >
<input name="rc:LinkTarget" value="_self" type="hidden" ID="Hidden1">
<input name="rs:Format" value="HTML4.0" type="hidden" ID="Hidden2">
<input name="rc:Toolbar" value="true" type="hidden" ID="Hidden3"/>
<input name="rs:ClearSession" value="true" type="hidden" ID="Hidden4"/>
<input name="rc:Parameters" value="Collapsed" type="hidden" ID="Hidden5"/>
<input name="PIN" type=hidden value="" ID=""/>
<input name="EnvIds" type=hidden value="<%=request.form("envids") %>"
ID="Text2"/>
<input name="RegionId" type=hidden value="<%=request.form("regions") %>"
ID="Text3"/>
<input name="PhaseIds" type=hidden value="<%=request.form("phaseids") %>"
ID="Text4"/>
<input name="CommStatus" type=hidden value="" ID="Text5"/>
<input name="WIN" type=hidden value="" ID="Text6"/>
<input name="WorkOrder" type=hidden value="" ID="Text7"/>
<input name="County" type=hidden value="" ID="Text8"/>
<input name="StateRoute" type=hidden value="" ID="Text9"/>
<input name="CommitmentIds" type=hidden value=" <%=request.form("CommIds")
%> " ID="Text10"/>
<input name="SearchParameter" type=hidden value="" ID="Text11"/>
<input name="CommitmentDescription" type=hidden value="" ID="Text12"/>
<script>
document.Form1.action= "<% response.write request.form("formaction") %>"; //
form action which will be the url to the reporting server
document.Form1.submit();
</script>
even after i used this method i still have parameter length limitation. is
there any way to go around this problem?
Thanks
</form>Robert,
What kind of parameter are you passing that it has to be 3,000 chars?!
Are you passing SQL into a report through a parameter?
-Josh
Robert wrote:
> Hi,
> I am using sql reporting services 2000, i am trying to pass a parameter with
> the length of 3000 character and since the URL limitation is 2040 i used the
> post method as follow
>
> <FORM name=Form1 method="post" target="_self" >
>
> <input name="rc:LinkTarget" value="_self" type="hidden" ID="Hidden1">
> <input name="rs:Format" value="HTML4.0" type="hidden" ID="Hidden2">
> <input name="rc:Toolbar" value="true" type="hidden" ID="Hidden3"/>
> <input name="rs:ClearSession" value="true" type="hidden" ID="Hidden4"/>
> <input name="rc:Parameters" value="Collapsed" type="hidden" ID="Hidden5"/>
>
> <input name="PIN" type=hidden value="" ID=""/>
> <input name="EnvIds" type=hidden value="<%=request.form("envids") %>"
> ID="Text2"/>
> <input name="RegionId" type=hidden value="<%=request.form("regions") %>"
> ID="Text3"/>
> <input name="PhaseIds" type=hidden value="<%=request.form("phaseids") %>"
> ID="Text4"/>
> <input name="CommStatus" type=hidden value="" ID="Text5"/>
> <input name="WIN" type=hidden value="" ID="Text6"/>
> <input name="WorkOrder" type=hidden value="" ID="Text7"/>
> <input name="County" type=hidden value="" ID="Text8"/>
> <input name="StateRoute" type=hidden value="" ID="Text9"/>
> <input name="CommitmentIds" type=hidden value=" <%=request.form("CommIds")
> %> " ID="Text10"/>
> <input name="SearchParameter" type=hidden value="" ID="Text11"/>
> <input name="CommitmentDescription" type=hidden value="" ID="Text12"/>
> <script>
> document.Form1.action= "<% response.write request.form("formaction") %>"; //
> form action which will be the url to the reporting server
> document.Form1.submit();
> </script>
> even after i used this method i still have parameter length limitation. is
> there any way to go around this problem?
> Thanks
> </form>|||Josh
user can choose different documents and then i send the documentid(s) to
report server and stored procedure on the back is going to do some processing
on it and then return it.
so some times may this documentid have length of 3000 or more because these
documentids are commas seprated.
do you have any suggestion that may help me?
Thanks
"Josh" wrote:
> Robert,
> What kind of parameter are you passing that it has to be 3,000 chars?!
> Are you passing SQL into a report through a parameter?
> -Josh
>
> Robert wrote:
> > Hi,
> > I am using sql reporting services 2000, i am trying to pass a parameter with
> > the length of 3000 character and since the URL limitation is 2040 i used the
> > post method as follow
> >
> >
> > <FORM name=Form1 method="post" target="_self" >
> >
> >
> > <input name="rc:LinkTarget" value="_self" type="hidden" ID="Hidden1">
> > <input name="rs:Format" value="HTML4.0" type="hidden" ID="Hidden2">
> > <input name="rc:Toolbar" value="true" type="hidden" ID="Hidden3"/>
> > <input name="rs:ClearSession" value="true" type="hidden" ID="Hidden4"/>
> > <input name="rc:Parameters" value="Collapsed" type="hidden" ID="Hidden5"/>
> >
> >
> > <input name="PIN" type=hidden value="" ID=""/>
> > <input name="EnvIds" type=hidden value="<%=request.form("envids") %>"
> > ID="Text2"/>
> > <input name="RegionId" type=hidden value="<%=request.form("regions") %>"
> > ID="Text3"/>
> > <input name="PhaseIds" type=hidden value="<%=request.form("phaseids") %>"
> > ID="Text4"/>
> > <input name="CommStatus" type=hidden value="" ID="Text5"/>
> > <input name="WIN" type=hidden value="" ID="Text6"/>
> > <input name="WorkOrder" type=hidden value="" ID="Text7"/>
> > <input name="County" type=hidden value="" ID="Text8"/>
> > <input name="StateRoute" type=hidden value="" ID="Text9"/>
> > <input name="CommitmentIds" type=hidden value=" <%=request.form("CommIds")
> > %> " ID="Text10"/>
> > <input name="SearchParameter" type=hidden value="" ID="Text11"/>
> > <input name="CommitmentDescription" type=hidden value="" ID="Text12"/>
> >
> > <script>
> > document.Form1.action= "<% response.write request.form("formaction") %>"; //
> > form action which will be the url to the reporting server
> >
> > document.Form1.submit();
> > </script>
> >
> > even after i used this method i still have parameter length limitation. is
> > there any way to go around this problem?
> >
> > Thanks
> > </form>
>|||OK... this suggestion will only work with SSRS 2005, so I will also
recommend an upgrade.
One of the enhancements offered in SSRS 2005 is multi-valued
parameters. With the introduction of this option, they also added a
JOIN function that will convert a parameter array into a character
delimited string. Sooo...
You create a docID parm (probably string would be best) that is
multi-value. Then, whatever you are using to call the report and pass
that huge string can build the URL like this:
http://serverName/ReportServer/Pages/ReportViewer.aspx?/Folder1/Folder2/ReportName&docID=abc1&docID=abc2&docID=abc3
Create another parameter called docIDstring and mark it as hidden or
internal. (If you want to be able to pass the string already formatted
as CSV, use hidden so that you can pass it in the URL. If you are ONLY
going to use the approach that I am suggesting, mark it as internal.)
Set the default value of the internal/hidden parm to:
=JOIN(Parameters!docID.Value,","). Multi-value parameters are treated
as an array, and this JOIN function will convert the array to CSV.
If you used this expression with the URL that is listed above,
docIDstring would = "abc1,abc2,abc3".
Sorry it only works with SSRS 2005, but you probably need to upgrade
sometime anyway.
Hope this helps!
-Josh
Robert wrote:
> Josh
> user can choose different documents and then i send the documentid(s) to
> report server and stored procedure on the back is going to do some processing
> on it and then return it.
> so some times may this documentid have length of 3000 or more because these
> documentids are commas seprated.
> do you have any suggestion that may help me?
> Thanks
> "Josh" wrote:
> >
> > Robert,
> >
> > What kind of parameter are you passing that it has to be 3,000 chars?!
> > Are you passing SQL into a report through a parameter?
> >
> > -Josh
> >
> >
> > Robert wrote:
> > > Hi,
> > > I am using sql reporting services 2000, i am trying to pass a parameter with
> > > the length of 3000 character and since the URL limitation is 2040 i used the
> > > post method as follow
> > >
> > >
> > > <FORM name=Form1 method="post" target="_self" >
> > >
> > >
> > > <input name="rc:LinkTarget" value="_self" type="hidden" ID="Hidden1">
> > > <input name="rs:Format" value="HTML4.0" type="hidden" ID="Hidden2">
> > > <input name="rc:Toolbar" value="true" type="hidden" ID="Hidden3"/>
> > > <input name="rs:ClearSession" value="true" type="hidden" ID="Hidden4"/>
> > > <input name="rc:Parameters" value="Collapsed" type="hidden" ID="Hidden5"/>
> > >
> > >
> > > <input name="PIN" type=hidden value="" ID=""/>
> > > <input name="EnvIds" type=hidden value="<%=request.form("envids") %>"
> > > ID="Text2"/>
> > > <input name="RegionId" type=hidden value="<%=request.form("regions") %>"
> > > ID="Text3"/>
> > > <input name="PhaseIds" type=hidden value="<%=request.form("phaseids") %>"
> > > ID="Text4"/>
> > > <input name="CommStatus" type=hidden value="" ID="Text5"/>
> > > <input name="WIN" type=hidden value="" ID="Text6"/>
> > > <input name="WorkOrder" type=hidden value="" ID="Text7"/>
> > > <input name="County" type=hidden value="" ID="Text8"/>
> > > <input name="StateRoute" type=hidden value="" ID="Text9"/>
> > > <input name="CommitmentIds" type=hidden value=" <%=request.form("CommIds")
> > > %> " ID="Text10"/>
> > > <input name="SearchParameter" type=hidden value="" ID="Text11"/>
> > > <input name="CommitmentDescription" type=hidden value="" ID="Text12"/>
> > >
> > > <script>
> > > document.Form1.action= "<% response.write request.form("formaction") %>"; //
> > > form action which will be the url to the reporting server
> > >
> > > document.Form1.submit();
> > > </script>
> > >
> > > even after i used this method i still have parameter length limitation. is
> > > there any way to go around this problem?
> > >
> > > Thanks
> > > </form>
> >
> >|||the problem with this approach is that the url can only be 2040 character and
mine for sure will be more.
Thanks
"Josh" wrote:
> OK... this suggestion will only work with SSRS 2005, so I will also
> recommend an upgrade.
> One of the enhancements offered in SSRS 2005 is multi-valued
> parameters. With the introduction of this option, they also added a
> JOIN function that will convert a parameter array into a character
> delimited string. Sooo...
> You create a docID parm (probably string would be best) that is
> multi-value. Then, whatever you are using to call the report and pass
> that huge string can build the URL like this:
> http://serverName/ReportServer/Pages/ReportViewer.aspx?/Folder1/Folder2/ReportName&docID=abc1&docID=abc2&docID=abc3
> Create another parameter called docIDstring and mark it as hidden or
> internal. (If you want to be able to pass the string already formatted
> as CSV, use hidden so that you can pass it in the URL. If you are ONLY
> going to use the approach that I am suggesting, mark it as internal.)
> Set the default value of the internal/hidden parm to:
> =JOIN(Parameters!docID.Value,","). Multi-value parameters are treated
> as an array, and this JOIN function will convert the array to CSV.
> If you used this expression with the URL that is listed above,
> docIDstring would = "abc1,abc2,abc3".
> Sorry it only works with SSRS 2005, but you probably need to upgrade
> sometime anyway.
> Hope this helps!
> -Josh
>
> Robert wrote:
> > Josh
> >
> > user can choose different documents and then i send the documentid(s) to
> > report server and stored procedure on the back is going to do some processing
> > on it and then return it.
> >
> > so some times may this documentid have length of 3000 or more because these
> > documentids are commas seprated.
> > do you have any suggestion that may help me?
> > Thanks
> >
> > "Josh" wrote:
> >
> > >
> > > Robert,
> > >
> > > What kind of parameter are you passing that it has to be 3,000 chars?!
> > > Are you passing SQL into a report through a parameter?
> > >
> > > -Josh
> > >
> > >
> > > Robert wrote:
> > > > Hi,
> > > > I am using sql reporting services 2000, i am trying to pass a parameter with
> > > > the length of 3000 character and since the URL limitation is 2040 i used the
> > > > post method as follow
> > > >
> > > >
> > > > <FORM name=Form1 method="post" target="_self" >
> > > >
> > > >
> > > > <input name="rc:LinkTarget" value="_self" type="hidden" ID="Hidden1">
> > > > <input name="rs:Format" value="HTML4.0" type="hidden" ID="Hidden2">
> > > > <input name="rc:Toolbar" value="true" type="hidden" ID="Hidden3"/>
> > > > <input name="rs:ClearSession" value="true" type="hidden" ID="Hidden4"/>
> > > > <input name="rc:Parameters" value="Collapsed" type="hidden" ID="Hidden5"/>
> > > >
> > > >
> > > > <input name="PIN" type=hidden value="" ID=""/>
> > > > <input name="EnvIds" type=hidden value="<%=request.form("envids") %>"
> > > > ID="Text2"/>
> > > > <input name="RegionId" type=hidden value="<%=request.form("regions") %>"
> > > > ID="Text3"/>
> > > > <input name="PhaseIds" type=hidden value="<%=request.form("phaseids") %>"
> > > > ID="Text4"/>
> > > > <input name="CommStatus" type=hidden value="" ID="Text5"/>
> > > > <input name="WIN" type=hidden value="" ID="Text6"/>
> > > > <input name="WorkOrder" type=hidden value="" ID="Text7"/>
> > > > <input name="County" type=hidden value="" ID="Text8"/>
> > > > <input name="StateRoute" type=hidden value="" ID="Text9"/>
> > > > <input name="CommitmentIds" type=hidden value=" <%=request.form("CommIds")
> > > > %> " ID="Text10"/>
> > > > <input name="SearchParameter" type=hidden value="" ID="Text11"/>
> > > > <input name="CommitmentDescription" type=hidden value="" ID="Text12"/>
> > > >
> > > > <script>
> > > > document.Form1.action= "<% response.write request.form("formaction") %>"; //
> > > > form action which will be the url to the reporting server
> > > >
> > > > document.Form1.submit();
> > > > </script>
> > > >
> > > > even after i used this method i still have parameter length limitation. is
> > > > there any way to go around this problem?
> > > >
> > > > Thanks
> > > > </form>
> > >
> > >
>|||I see.
How many chars is each document ID?
-Josh
Robert wrote:
> the problem with this approach is that the url can only be 2040 character and
> mine for sure will be more.
> Thanks
>
> "Josh" wrote:
> >
> > OK... this suggestion will only work with SSRS 2005, so I will also
> > recommend an upgrade.
> >
> > One of the enhancements offered in SSRS 2005 is multi-valued
> > parameters. With the introduction of this option, they also added a
> > JOIN function that will convert a parameter array into a character
> > delimited string. Sooo...
> >
> > You create a docID parm (probably string would be best) that is
> > multi-value. Then, whatever you are using to call the report and pass
> > that huge string can build the URL like this:
> >
> > http://serverName/ReportServer/Pages/ReportViewer.aspx?/Folder1/Folder2/ReportName&docID=abc1&docID=abc2&docID=abc3
> >
> > Create another parameter called docIDstring and mark it as hidden or
> > internal. (If you want to be able to pass the string already formatted
> > as CSV, use hidden so that you can pass it in the URL. If you are ONLY
> > going to use the approach that I am suggesting, mark it as internal.)
> >
> > Set the default value of the internal/hidden parm to:
> > =JOIN(Parameters!docID.Value,","). Multi-value parameters are treated
> > as an array, and this JOIN function will convert the array to CSV.
> >
> > If you used this expression with the URL that is listed above,
> > docIDstring would = "abc1,abc2,abc3".
> >
> > Sorry it only works with SSRS 2005, but you probably need to upgrade
> > sometime anyway.
> >
> > Hope this helps!
> >
> > -Josh
> >
> >
> >
> > Robert wrote:
> > > Josh
> > >
> > > user can choose different documents and then i send the documentid(s) to
> > > report server and stored procedure on the back is going to do some processing
> > > on it and then return it.
> > >
> > > so some times may this documentid have length of 3000 or more because these
> > > documentids are commas seprated.
> > > do you have any suggestion that may help me?
> > > Thanks
> > >
> > > "Josh" wrote:
> > >
> > > >
> > > > Robert,
> > > >
> > > > What kind of parameter are you passing that it has to be 3,000 chars?!
> > > > Are you passing SQL into a report through a parameter?
> > > >
> > > > -Josh
> > > >
> > > >
> > > > Robert wrote:
> > > > > Hi,
> > > > > I am using sql reporting services 2000, i am trying to pass a parameter with
> > > > > the length of 3000 character and since the URL limitation is 2040 i used the
> > > > > post method as follow
> > > > >
> > > > >
> > > > > <FORM name=Form1 method="post" target="_self" >
> > > > >
> > > > >
> > > > > <input name="rc:LinkTarget" value="_self" type="hidden" ID="Hidden1">
> > > > > <input name="rs:Format" value="HTML4.0" type="hidden" ID="Hidden2">
> > > > > <input name="rc:Toolbar" value="true" type="hidden" ID="Hidden3"/>
> > > > > <input name="rs:ClearSession" value="true" type="hidden" ID="Hidden4"/>
> > > > > <input name="rc:Parameters" value="Collapsed" type="hidden" ID="Hidden5"/>
> > > > >
> > > > >
> > > > > <input name="PIN" type=hidden value="" ID=""/>
> > > > > <input name="EnvIds" type=hidden value="<%=request.form("envids") %>"
> > > > > ID="Text2"/>
> > > > > <input name="RegionId" type=hidden value="<%=request.form("regions") %>"
> > > > > ID="Text3"/>
> > > > > <input name="PhaseIds" type=hidden value="<%=request.form("phaseids") %>"
> > > > > ID="Text4"/>
> > > > > <input name="CommStatus" type=hidden value="" ID="Text5"/>
> > > > > <input name="WIN" type=hidden value="" ID="Text6"/>
> > > > > <input name="WorkOrder" type=hidden value="" ID="Text7"/>
> > > > > <input name="County" type=hidden value="" ID="Text8"/>
> > > > > <input name="StateRoute" type=hidden value="" ID="Text9"/>
> > > > > <input name="CommitmentIds" type=hidden value=" <%=request.form("CommIds")
> > > > > %> " ID="Text10"/>
> > > > > <input name="SearchParameter" type=hidden value="" ID="Text11"/>
> > > > > <input name="CommitmentDescription" type=hidden value="" ID="Text12"/>
> > > > >
> > > > > <script>
> > > > > document.Form1.action= "<% response.write request.form("formaction") %>"; //
> > > > > form action which will be the url to the reporting server
> > > > >
> > > > > document.Form1.submit();
> > > > > </script>
> > > > >
> > > > > even after i used this method i still have parameter length limitation. is
> > > > > there any way to go around this problem?
> > > > >
> > > > > Thanks
> > > > > </form>
> > > >
> > > >
> >
> >sql

No comments:

Post a Comment