Hi All,
<br/><br/>
I have a crystal report with Command that uses a stored procedure.
<br/><br/>
Command has the script - EXECUTE [TestCrystalCastIssueSP] '{?name}','{?valueStr}',{?valueInt}
<br/><br/>
I use the below replaceConnection in the code for replacing the connections on run time for each table :
databaseController.replaceConnection(originalConnectionInfo, newConnectionInfo, fields, DBOptions._doNotVerifyDB);
<br/><br/>
All works fine.
<br/><br/><br/>
Now I change the script in stored procedure from 'SELECT * from TestCrystalCastIssue t' to 'SELECT t.name, t.valueStr, t.valueint from TestCrystalCastIssue t' - which means selecting only few columns of the table
<br/><br/>
Execute the report from java web application but the crystal engine throws the following error.
<br/><br/>
Please assist me. Thanks.
<br/><br/>
-- start of error log --<br/>
Error com.businessobjects.reports.sdk.JRCCommunicationAdapter - detected an exception: Failed to bind columns.<br/>
at com.crystaldecisions.reports.datafoundation.DFQuery.for(SourceFile:632)<br/>
at com.crystaldecisions.reports.datalayer.a.do(SourceFile:1621)
at com.crystaldecisions.reports.datalayer.a.a(SourceFile:1404)<br/>
at com.crystaldecisions.reports.dataengine.m.b(SourceFile:334)<br/>
at com.crystaldecisions.reports.dataengine.j.b(SourceFile:515)<br/>
at com.crystaldecisions.reports.dataengine.m.o(SourceFile:408)<br/>
at com.crystaldecisions.reports.dataengine.m.a(SourceFile:173)<br/>
at com.crystaldecisions.reports.dataengine.ContextNode.a(SourceFile:114)<br/>
at com.crystaldecisions.reports.dataengine.ContextNode.a(SourceFile:95)<br/>
at com.crystaldecisions.reports.dataengine.j.case(SourceFile:1080)<br/>
at com.crystaldecisions.reports.dataengine.h.<init>(SourceFile:108)<br/>
at com.crystaldecisions.reports.dataengine.DataContext.a(SourceFile:254)<br/>
at com.crystaldecisions.reports.dataengine.DataProcessor2.a(SourceFile:4660)<br/>
at com.crystaldecisions.reports.dataengine.DataProcessor2.a(SourceFile:4574)<br/>
at com.crystaldecisions.reports.dataengine.DataProcessor2.new(SourceFile:2652)<br/>
at com.crystaldecisions.reports.dataengine.DataProcessor2.byte(SourceFile:2610)<br/>
at com.crystaldecisions.reports.dataengine.DataProcessor2.try(SourceFile:2282)<br/>
at com.crystaldecisions.reports.dataengine.DataProcessor2.int(SourceFile:2442)
at com.crystaldecisions.reports.dataengine.DataProcessor2.I(SourceFile:1013)<br/>
at com.crystaldecisions.reports.formatter.formatter.objectformatter.ObjectFormatter.fo(SourceFile:526)
at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.if(SourceFile:613)<br/>
at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.a(SourceFile:578)<br/>
at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.X(SourceFile:387)<br/>
at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.moveToPageN(SourceFile:339)<br/>
at com.crystaldecisions.reports.formatter.export2.a.a(SourceFile:78)<br/>
at com.crystaldecisions.reports.formatter.export2.a.a(SourceFile:247)<br/>
at com.crystaldecisions.reports.formatter.export2.ExportSupervisorEx.if(SourceFile:642)<br/>
at com.crystaldecisions.reports.formatter.export2.ExportSupervisorEx.a(SourceFile:586)<br/>
at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.a(SourceFile:636)<br/>
at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.int(SourceFile:672)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(SourceFile:1944)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(SourceFile:661)<br/>
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:167)<br/>
at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(SourceFile:529)<br/>
at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(SourceFile:527)<br/>
at com.crystaldecisions.reports.common.ThreadGuard.syncExecute(SourceFile:102)<br/>
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.for(SourceFile:525)<br/>
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.int(SourceFile:424)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(SourceFile:352)<br/>
at com.businessobjects.sdk.erom.jrc.a.a(SourceFile:54)<br/>
at com.businessobjects.sdk.erom.jrc.a.execute(SourceFile:67)<br/>
at com.crystaldecisions.proxy.remoteagent.RemoteAgent$a.execute(SourceFile:716)<br/>
at com.crystaldecisions.proxy.remoteagent.CommunicationChannel.a(SourceFile:125)<br/>
at com.crystaldecisions.proxy.remoteagent.RemoteAgent.a(SourceFile:537)<br/>
at com.crystaldecisions.sdk.occa.report.application.ds.a(SourceFile:186)<br/>
at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(SourceFile:1558)<br/>
at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(SourceFile:337)<br/>
at com.crystaldecisions.sdk.occa.report.application.ReportSource.export(SourceFile:286)<br/>
at com.crystaldecisions.sdk.occa.report.application.AdvancedReportSource.export(SourceFile:209)<br/>
at com.businessobjects.report.web.event.bh.a(SourceFile:158)<br/>
at com.businessobjects.report.web.event.o.a(SourceFile:146)<br/>
at com.businessobjects.report.web.event.bw.broadcast(SourceFile:93)<br/>
at com.businessobjects.report.web.event.am.a(SourceFile:53)<br/>
at com.businessobjects.report.web.a.t.if(SourceFile:2104)<br/>
at com.businessobjects.report.web.e.a(SourceFile:300)<br/>
at com.businessobjects.report.web.e.a(SourceFile:202)<br/>
at com.businessobjects.report.web.e.a(SourceFile:135)<br/>
at com.crystaldecisions.report.web.ServerControl.a(SourceFile:607)<br/>
at com.crystaldecisions.report.web.viewer.ReportExportControl.a(SourceFile:124)<br/>
at com.crystaldecisions.report.web.ServerControl.processHttpRequest(SourceFile:342)<br/>
at MyCrystalReportServlet.renderReport(MyCrystalReportServlet.java:565).<br/><br/>
-- end of error log --<br/><br/><br/>
-
start of stored procedure --<br/>
ALTER PROCEDURE [dbo].[TestCrystalCastIssueSP]<br/>
@p_name varchar(10),<br/>
@p_valueStr varchar(10),<br/>
@p_valueInt varchar(10)<br/>
AS<br/>
BEGIN<br/>
-- SET NOCOUNT ON added to prevent extra result sets from<br/>
-- interfering with SELECT statements.<br/>
SET NOCOUNT ON;<br/><br/>
-- Insert statements for procedure here<br/>
DECLARE @valueIntParam INT<br/>
SET @valueIntParam = cast(@p_valueInt AS INTEGER)<br/><br/>
-- below statement causes report to fail. there are four columns in the table.<br/>
--SELECT t.name, t.valueStr, t.valueint from TestCrystalCastIssue t WHERE t.valueInt = @valueIntParam<br/><br/>
SELECT * from TestCrystalCastIssue t WHERE t.valueInt = @valueIntParam<br/>
END<br/>
-
end of stored procedure --
Edited by: ratan korlam on Mar 3, 2011 12:52 PM