Link to home
Start Free TrialLog in
Avatar of silemone
silemoneFlag for United States of America

asked on

How to fix Crystal Reports Bug that causes Buffer too small for string or missing null byte error?

Details of my Page:
I have an aspnet listbox that allows multiple selects.  ListBox something like this:  All, House, Mechanical, Comfort, Noise, Electrical.  <--small example...maybe 50 options.  User can select as many options as needed.  Then these options are passed through a string as parameter Issues to a stored procedure variable @Issues.  However that all works.  


The Problem:
When i pass the querystring to CrystalReportsViewer, I get the above error.  
I have a field on the the report called:

report.SummaryInfo.ReportComments = Request.QueryString("Comments1") & Request.QueryString("Comments2") & Request.QueryString("Comments3")

where
Comments1 = ReportTitleName  <--not too big
Comments2 = selections from List which can be up to 50 words  
Comments3 = EnteredByInformation <--not too big...

and depending on size of Comments2, I will get the error:   Buffer too small for string or missing null byte error.  

My Question:
Is there anyway to make        report.SummaryInfo.ReportComments  size limitless?
otherwise how would I fix?

Avatar of Mike McCracken
Mike McCracken

What version of Crystal?

I don't think it is the Crystal length.  I suspect it is an ASP or system buffer.

mlmcc
Avatar of silemone

ASKER

<add assembly="CrystalDecisions.CrystalReports.Engine, Version=11.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>  

i hope that helps with version question.
oh...and it doesn't happen until i load the query string into the report object and it works if i only select up to 10 options...but past that it will give the error....also error points directly to  report object:

report.SummaryInfo.ReportComments = Request.QueryString("Comments1") & Request.QueryString("Comments2") & Request.QueryString("Comments3")


report is Crystal Report Object

Private report As New CrystalDecisions.CrystalReports.Engine.ReportDocument.

If I remove one of the QueryStrings or pick less data from select object, it does not give an error.
CR XI is not supposed to have a string length issue.

Is the problem when the string gets to around 254 characters?

mlmcc
yes...and the error that's given is exactly the one that I included...yes, but its either the buffer size is too great or the number of characters may be causing the issue...also...I noticed that the field that the data is going to is a IFieldObject...
Another note:  if i add that string to an <asp:Label  id="lblText"...>
the super long string will show on page...however if i try to pass it to the field on the report I get the error.  
so it's not an issue with the QueryString length that i'm using to pass data with (as I thought it would be since Buffer error) or i would get an error when I pass string to lblText.Text...however when I pass that same text to CR IFieldObject, it's too big...i know it does fail when text size is: 1459.  Its stops at length 511...after that it crashes.
Sounds like the CR.IFieldObject is limited to 512 hcaracters.

mlmcc
is there anyway i can change limits?
ASKER CERTIFIED SOLUTION
Avatar of Mike McCracken
Mike McCracken

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks for your help and time...i don't think we've actually moved forward on a solution, but I'll give you all the points.  you did verify what I thought was the case...Thanks for your time.