Error in setTableLocation

<p>Hi,</p><p>I am using CRXI JRC R2, and i am trying to switch the database from one sqlserver2000 to other.</p><p>what i found is that when we have the parameters that are not part of the sql queries then its able to switch the database and give the report. When we have the parameter in the sql query, then i found that its setting all the Data Connection Property and when it comes to resetting the table, JRCCommunicationAdapter is throwing error.</p><p>Below is the console output. An early solution is needed badly...</p><p>12:08:04,217 INFO  [JRCCommunicationAdapter] JRCAgent1 received request: setTableLocation<br />12:08:04,233 INFO  [commandmanager] command SETUP: Create Data Connection<br />12:08:04,233 INFO  [commandmanager] command PERFORM: Create Data Connection<br />12:08:04,233 INFO  [commandmanager] -- command is undoable -> purge redo stack<br />12:08:04,248 INFO  [commandmanager] command SETUP: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] command PERFORM: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] -- command is NOT UNDOABLE -> purge undo stack<br />12:08:04,248 INFO  [commandmanager] --- Purging command Create Data Connection<br />12:08:04,248 INFO  [commandmanager] command SETUP: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] command PERFORM: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] -- command is NOT UNDOABLE -> purge undo stack<br />12:08:04,248 INFO  [commandmanager] command SETUP: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] command PERFORM: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] -- command is NOT UNDOABLE -> purge undo stack<br />12:08:04,248 INFO  [commandmanager] command SETUP: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] command PERFORM: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] -- command is NOT UNDOABLE -> purge undo stack<br />12:08:04,248 INFO  [commandmanager] command SETUP: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] command PERFORM: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] -- command is NOT UNDOABLE -> purge undo stack<br />12:08:04,248 INFO  [commandmanager] command SETUP: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] command PERFORM: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] -- command is NOT UNDOABLE -> purge undo stack<br />12:08:04,248 INFO  [commandmanager] command SETUP: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] command PERFORM: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] -- command is NOT UNDOABLE -> purge undo stack<br />12:08:04,248 INFO  [commandmanager] command SETUP: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] command PERFORM: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] -- command is NOT UNDOABLE -> purge undo stack<br />12:08:04,248 INFO  [commandmanager] command SETUP: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] command PERFORM: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] -- command is NOT UNDOABLE -> purge undo stack<br />12:08:04,248 INFO  [commandmanager] command SETUP: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] command PERFORM: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] -- command is NOT UNDOABLE -> purge undo stack<br />12:08:04,248 INFO  [commandmanager] command SETUP: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] command PERFORM: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] -- command is NOT UNDOABLE -> purge undo stack<br />12:08:04,248 INFO  [commandmanager] command SETUP: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] command PERFORM: Set Data Connection Property<br />12:08:04,248 INFO  [commandmanager] -- command is NOT UNDOABLE -> purge undo stack<br />12:08:04,248 ERROR [JRCCommunicationAdapter] JRCAgent1 detected an exception: java.lang.NullPointerE<br />xception<br />12:08:04,264 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception<br />com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: java.lang.NullPointerException---- Erro<br />r code:-2147467259 Error code name:failed<br />        at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)<br />        at com.crystaldecisions.proxy.remoteagent.y.a(Unknown Source)<br />        at com.crystaldecisions.proxy.remoteagent.r.a(Unknown Source)<br />        at com.crystaldecisions.sdk.occa.report.application.cf.a(Unknown Source)<br />        at com.crystaldecisions.sdk.occa.report.application.z.a(Unknown Source)<br />        at com.crystaldecisions.sdk.occa.report.application.ak.if(Unknown Source)<br />        at com.crystaldecisions.sdk.occa.report.application.ad.int(Unknown Source)<br />        at com.crystaldecisions.sdk.occa.report.application.bk.for(Unknown Source)<br />        at com.crystaldecisions.proxy.remoteagent.v.a(Unknown Source)<br />        at com.crystaldecisions.proxy.remoteagent.v.if(Unknown Source)<br />        at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(Unknown Source)<br />        at com.crystaldecisions.sdk.occa.report.application.DatabaseController.setTableLocation(Unkn<br />own Source)<br />        at com.crystaldecisions.reports.sdk.DatabaseController.setTableLocation(Unknown Source)<br />        at org.apache.jsp.crystalreportviewers11.CrystalReportViewer_jsp.updateDBDetails(org.apache.<br />jsp.crystalreportviewers11.CrystalReportViewer_jsp:89)<br />        at org.apache.jsp.crystalreportviewers11.CrystalReportViewer_jsp._jspService(org.apache.jsp.<br />crystalreportviewers11.CrystalReportViewer_jsp:291)<br />        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)<br />        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)</p>

Was this issue solved? I have the same issue.

Similar Messages

  • Logon Error when SetTableLocation with RAS SDK

    Hi
    I have a lot of Reports based on TTX files. As these don't work anymore in an 64 bit environment with CRVS2010 I tried to make an update program based on an replace_click sample in this newsgroup.
    My program is 32 Bit (x86) on an Windows 7 with VS2010. Cr2010 SP1 (13.0.1.220) 32 and 64 Bit is installed.
    After creating an XML-file I want to set the new table location with SetTableLocation method:
    I always get this Error: Logon Failed. Error in File xxx.rpt: Unable to connect: incorrect log on parameters.
    I tested this with two super easy reports created with Crystal Reports 10: 
    First: 1 Table (based on ttx) with only one String filed. no subreports.
    Second: Same report based on an XML File
    With Crystal Reports 10 I can update the Report with the created XML-File.
    public convert(NewFilename as String)
            Dim lCR As New CrystalDecisions.CrystalReports.Engine.ReportDocument
            lCR = New CrystalDecisions.CrystalReports.Engine.ReportDocument
            Try
                lCR.Load(NewFileName)
                Dim rcd As ISCDReportClientDocument
                rcd = lCR.ReportClientDocument
                For i As Integer = 0 To rcd.SubreportController.GetSubreportNames.Count - 1
                    ConvertReportTables(NewFileName, rcd, rcd.SubreportController.GetSubreportNames.Item(i), True)
                Next
                ConvertReportTables(NewFileName, rcd, "", False)
    end sub
    Jürgen
    Edited by: Jürgen Bauer on Jun 7, 2011 1:55 PM

    Private Sub ConvertReportTables(ByRef destination As String, ByRef lcr As ISCDReportClientDocument, srp As String, issubrpt As Boolean)
           Dim boTables As CrystalDecisions.ReportAppServer.DataDefModel.ISCRTables
            If issubrpt Then
                boTables = lcr.SubreportController.GetSubreport(srp).DatabaseController.Database.Tables
            Else
                boTables = lcr.DatabaseController.Database.Tables
            End If
            For Each Table As CrystalDecisions.ReportAppServer.DataDefModel.ISCRTable In boTables
                'Dateiname für Tabellendefinition erzeugen
                Dim XMLFile As String
                XMLFile = destination
                XMLFile &= "_R_" & srp
                XMLFile &= "_T_" & Table.Name.Trim & ".xml"
                'Tabellendefinition lesen und in Datei schreiben
                Dim dt As New DataTable
                For Each field As CrystalDecisions.ReportAppServer.DataDefModel.Field In Table.DataFields
                    Dim fieldtype As String = ""
                    Select Case field.Type
                        Case FieldValueType.BitmapField, FieldValueType.BlobField, FieldValueType.IconField, FieldValueType.OleField, FieldValueType.PictureField
                            fieldtype = "System.Byte[]"
                        Case FieldValueType.BooleanField
                            fieldtype = "System.Boolean"
                        Case FieldValueType.CurrencyField, FieldValueType.NumberField
                            fieldtype = "System.Decimal"
                        Case FieldValueType.TimeField, FieldValueType.DateField, FieldValueType.DateTimeField
                            fieldtype = "System.DateTime"
                        Case FieldValueType.Int16sField, FieldValueType.Int16uField, FieldValueType.Int32sField, FieldValueType.Int32uField, FieldValueType.Int8sField, FieldValueType.Int8uField
                            fieldtype = "System.Int32"
                        Case FieldValueType.StringField
                            fieldtype = "System.String"
                        Case Else
                            fieldtype = "System.String"
                    End Select
                     dt.Columns.Add(New DataColumn(field.Name, Type.GetType(fieldtype)))
                Next
                dt.TableName = Table.QualifiedName
                Dim ds As New System.Data.DataSet
                ds.Tables.Add(dt)
                ds.WriteXml(XMLFile, XmlWriteMode.WriteSchema)
                'boMainPropertyBag: These hold the attributes of the tables ConnectionInfo object
                Dim boMainPropertyBag As New PropertyBag()
                'boInnerPropertyBag: These hold the attributes for the QE_LogonProperties
                'In the main property bag (boMainPropertyBag)
                Dim boInnerPropertyBag As New PropertyBag()
                'Set the attributes for the boInnerPropertyBag
                boInnerPropertyBag.Add("File Path", XMLFile)
                boInnerPropertyBag.Add("Internal Connection ID", Guid.NewGuid.ToString)
                'Set the attributes for the boMainPropertyBag
                boMainPropertyBag.Add("Database DLL", "crdb_adoplus.dll")
                boMainPropertyBag.Add("QE_DatabaseName", "")
                boMainPropertyBag.Add("QE_DatabaseType", "ADO.NET (XML)")
                'Add the QE_LogonProperties we set in the boInnerPropertyBag Object
                boMainPropertyBag.Add("QE_LogonProperties", boInnerPropertyBag)
                boMainPropertyBag.Add("QE_ServerDescription", "NewDataSet")
                boMainPropertyBag.Add("QE_SQLDB", "False")
                boMainPropertyBag.Add("SSO Enabled", "False")
                'Create a new ConnectionInfo object
                Dim boConnectionInfo As New CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo()
                'Pass the database properties to a connection info object
                boConnectionInfo.Attributes = boMainPropertyBag
                'Set the connection kind
                boConnectionInfo.Kind = CrConnectionInfoKindEnum.crConnectionInfoKindCRQE
                Dim boTable As CrystalDecisions.ReportAppServer.DataDefModel.ISCRTable
                boTable = Table.Clone(True)
                boTable.ConnectionInfo = boConnectionInfo
                Try
                    If issubrpt Then
                        lcr.SubreportController.GetSubreport(srp).DatabaseController.SetTableLocation(Table, boTable)
                        lcr.VerifyDatabase()
                    Else
                        lcr.DatabaseController.SetTableLocationEx(Table, boTable)
                        lcr.VerifyDatabase()
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message)
                End Try
            Next
      End Sub

  • CRVS2010 Beta - Error on SetTableLocation

    I have made a test installation for the first time on a non developer machine. Whenever I preview a report I get this error:
    System.Runtime.InteropServices.COMException (0x8004100F): Logon fialed.
    Error in File Myreport.rpt {...}:
    Unable to connect: incorret log on parameters
    at
    CrystalDecisions.ReportAppServer.Controllers.DatabaseControllerClass.SetTableLocation(......)
    The report still displays, so the logon parameters are correct. This does not happen on my dev machine.
    I'm running this on a clean Win7 box, 32-bit runtime installed
    Thomas

    Logging helped, I found out that I access the database in crystal using integrated security. This seems to give me the error. If I change it to SQL Login (i'm using ms sql) everything works fine.
    It's interesting though that my app works fine with integrated security but crystal isn't. Is crystal running in a different user context?
    The box is running Win7 32bit.
    Here are some lines of the logfile, couldn't find how to upload the whole logfile
    2010-10-8 7:31:47.852     4304     .\ado.cpp     2943     Begin DbMatchLogonInfo     20
    2010-10-8 7:31:47.868     4304     .\ado.cpp     2974     Begin DbMatchLogonInfo     20
    2010-10-8 7:31:47.868     4304     .\ado.cpp     377     Beginning DbLogonServer      20
    2010-10-8 7:31:47.883     4304     ..\src\credentialmgr.cpp     186     CCredentialManager::SwitchSecurityContext() -- LogonUser (user: sa, domain: ) failed.  GetLastError returns 1326     1
    2010-10-8 7:31:47.883     4304     .\ado.cpp     525     DbLogonServer - User impersonation failed     1
    2010-10-8 7:31:47.883     4304     ..\cserrinf.cpp     523     Error 31816 (..\..\src\data\queryenghelp.cpp, 554): Logon failed.:      1
    2010-10-8 7:31:47.883     4304     ..\cserrinf.cpp     523     Error 31816 (..\..\src\data\queryenghelp.cpp, 554): Logon failed.:      1
    2010-10-8 7:31:51.930     4304     .\ado.cpp     377     Beginning DbLogonServer      20
    2010-10-8 7:31:51.946     4304     .\serverh.cpp     223     Beginning DbServerHandle::logon     20
    2010-10-8 7:31:51.977     4304     .\serverh.cpp     3976     adoConnection->Open succeeded: dataLinkFile=,provider=SQLOLEDB,dataSource=win7-install\swiss,userID=sa,password=     10
    2010-10-8 7:31:51.977     4304     .\serverh.cpp     3988     initialCatalog=Demo,jetSystemDatabase=,jetDatabaseType=Access,jetDatabasePassword=,useIntegratedSecurity=1,includeInitialCatalogProp=1,includeSecurityProps=1,includeJetSecurityProps=0     10
    2010-10-8 7:31:51.977     4304     .\serverh.cpp     414     Finishing DbServerHandle::logon     20
    Thomas

  • New error with upgrade jboss/tomcat: "Connection handle has been closed and is unusable"

    Hi,
    This error suddenly appeared when we upgraded from jboss3/tomcat5.0 to jboss4.2/tomcat5.5.
    here's the usecase:
    1) User clicks on report link
    2) Crystal reports web componnent displays screen to fill in report parameters.
    3) user enters parameters and clicks submit
    4) System throws Exception
    The same reports worked fine with jboss 3.2.6/tomcat 5.0. We haven't touched anything in this realm.
    Log Excerpt:
    09:42:18,842 INFO  [datasource] Openning rowset
    09:42:18,904 ERROR [reportdefinition] com.crystaldecisions.reports.queryengine.driverImpl.m: JDBC Error: Connection handle has been closed and is unusable
    09:42:18,905 ERROR [datasource] Failed to open rowset: the query failed to open rowset
    com.crystaldecisions.reports.reportdefinition.datainterface.g: JDBC Error: Connection handle has been closed and is unusable
         at com.crystaldecisions.reports.reportdefinition.datainterface.d.a(Unknown Source)
    To try to narrow down the problem, I've updated the jdbc configuration to
         <track-statements>true</track-statements>   
    here's a recap:
    This Boolean element specifies whether to check for unclosed statements when a connection is returned to the pool. If it is true, a warning message is issued for each unclosed statement. If the log4j category org.jboss.resource.adapter.jdbc.WrappedConnection has trace level enabled, a stack trace of the connection close call is logged as well. This is a debug feature that can be turned off in production.
    Interestingly enough, this error appears slightly upstream:
    (CachedConnectionManager.java:526) - Closing a connection for you.  Please close them yourself: org.jboss.resource.adapter.jdbc.WrappedConnection@c76003
    java.lang.Throwable: STACKTRACE
         at
    org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)
         at com.crystaldecisions.reports.queryengine.driverImpl.k.a(Unknown Source)
         at com.crystaldecisions.reports.queryengine.driverImpl.o.if(Unknown Source)
         at com.crystaldecisions.reports.queryengine.av.new(Unknown Source)
         at com.crystaldecisions.reports.queryengine.av.byte(Unknown Source)
         at com.crystaldecisions.reports.reportdefinition.datainterface.b.a(Unknown Source)
         at com.crystaldecisions.reports.reportdefinition.datainterface.b.a(Unknown Source)
         at com.crystaldecisions.reports.reportdefinition.datainterface.b.a(Unknown Source)
         at com.crystaldecisions.reports.reportdefinition.datainterface.j.a(Unknown Source)
         at com.crystaldecisions.reports.dataengine.ba.try(Unknown Source)
         at com.crystaldecisions.reports.common.av.a(Unknown Source)
         at com.crystaldecisions.reports.common.ag.a(Unknown Source)
         at com.businessobjects.reports.sdk.b.e.a(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown
    So the question arises:
    1) Is the jboss datasource overly/aggressively closing result sets?
    2) or is there a coding error in CRXIR2?
    thanks,
    bill
    Full stack trace:
    [2008-03-13 17:26:18,905] [INFO ] org.jboss.resource.connectionmanager.CachedConnectionManager (CachedConnectionManager.java:526) - Closing a connection for you.  Please close them yourself: org.jboss.resource.adapter.jdbc.WrappedConnection@c76003
    java.lang.Throwable: STACKTRACE
         at org.jboss.resource.connectionmanager.CachedConnectionManager.registerConnection(CachedConnectionManager.java:290)
         at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:417)
         at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:842)
         at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)
         at com.crystaldecisions.reports.queryengine.driverImpl.k.a(Unknown Source)
         at com.crystaldecisions.reports.queryengine.driverImpl.o.if(Unknown Source)
         at com.crystaldecisions.reports.queryengine.av.new(Unknown Source)
         at com.crystaldecisions.reports.queryengine.av.byte(Unknown Source)
         at com.crystaldecisions.reports.reportdefinition.datainterface.b.a(Unknown Source)
         at com.crystaldecisions.reports.reportdefinition.datainterface.b.a(Unknown Source)
         at com.crystaldecisions.reports.reportdefinition.datainterface.b.a(Unknown Source)
         at com.crystaldecisions.reports.reportdefinition.datainterface.j.a(Unknown Source)
         at com.crystaldecisions.reports.dataengine.ba.try(Unknown Source)
         at com.crystaldecisions.reports.common.av.a(Unknown Source)
         at com.crystaldecisions.reports.common.ag.a(Unknown Source)
         at com.businessobjects.reports.sdk.b.e.a(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.y.a(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.r.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.cf.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.z.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ak.if(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ad.int(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.bk.for(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.v.a(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.v.if(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.setTableLocation(Unknown Source)
         at com.crystaldecisions.reports.sdk.DatabaseController.setTableLocation(Unknown Source)
         at org.apache.jsp.reports.processreport_jsp.switchTables(processreport_jsp.java:131)
         at org.apache.jsp.reports.processreport_jsp.loadReport(processreport_jsp.java:68)
         at org.apache.jsp.reports.processreport_jsp._jspService(processreport_jsp.java:227)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.participate.shared.pagecache.client.PageCacheFilter.doFilter(PageCacheFilter.java:760)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.participate.util.servlet.ExpiredPasswordFilter.doFilter(ExpiredPasswordFilter.java:92)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.participate.pe.channels.client.servlet.ChannelUrlFilter.processUrl(ChannelUrlFilter.java:168)
         at com.participate.pe.channels.client.servlet.ChannelUrlFilter.doFilter(ChannelUrlFilter.java:100)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.participate.util.servlet.BlockIpAddressFilter.doFilter(BlockIpAddressFilter.java:224)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.outstart.multiapp.filters.KeepOtherSessionsAliveFilter.doFilter(KeepOtherSessionsAliveFilter.java:88)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.participate.util.servlet.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:151)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
         at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Thread.java:619)

    <p>
    OK. I found the problem along with a workaround.
    </p>
    <p>
    <strong>The problem:</strong>
    </p>
    <p>
    a programming practice clashes with a new jboss 'safety check'.
    </p>
    <p>
    <strong>Programming practice:</strong>
    </p>
    <p>
    crystal reports gets a database connection in one jsp page, then tries to use it on another jsp/servlet
    </p>
    <p>
    <strong>Jboss safety check:</strong>
    Jboss/tomcat new comes configured out-of-the-box with a 'cached connection
    manager', which
    </p>
    <p>
    "Check[s] for unclosed connections and transaction terminated checks in servlets/jsps."
    </p>
    <p>
    <strong> Summary</strong>
    </p>
    <p>
    In short, if a servlet/jsp ends and it leaves a database connection open, Jboss will automatically close it.
    </p>
    <p>
    </p>
    <p>
    <strong>Workaround:</strong><br />
    Comment out two entries in these two files:
    </p>
    <p>
    1) conf/jboss4/pe/deploy/jboss-web.deployer/server.xml
    </p>
    <p>
    2) conf/jboss4/pe/deploy/jboss-web.deployer/META-INF/jboss-service.xml
    </p>
    <p>
    The two entries:
    </p>
    <p>
    </p>
    <p>
    1)
    </p>
    <p>
                 <Valve className="org.jboss.web.tomcat.service.jca.CachedConnectionValve"<br />
                    cachedConnectionManagerObjectName="jboss.jca:service=CachedConnectionManager"<br />
                    transactionManagerObjectName="jboss:service=TransactionManager" /><br />
    </p>
    <p>
    2)
    </p>
    <p>
          <depends>jboss.jca:service=CachedConnectionManager</depends><br />
    </p>
    <p>
    </p>
    <p>
    <strong>Comments on the workaround</strong>
    </p>
    <p>
    The 'cached connection manager' basically makes sure that the application cleans up after bad programmers. It seems most helpful in development, load testing, or trouble shooting.
    </p>
    <p>
    In production,  you can likely  comment them out with minimal
    impact on the application.
    </p>

  • Crystal Report throws Unexpected Database Connector error

    Hi,<br>
    <br>
    We are using Crystal report 2008 CR4E API to implement the crystal report in our application. We use the below code to reset the report data source with our application data source. It works fine for most of the simple queries. But if the query contains any function defined in the SELECT Clause it throws Unexpected Database Connector error. As per the log and analysis we believe the root cause of the exception is it consider that function as column in the table and throws the SQL Exception that "function is Invalid Identifier". Could you please help in resolving this issue?
    <br><br>
    Code:<br><br>
         Tables tables = clientDoc.getDatabaseController().getDatabase().getTables(); <br>
                for(int i = 0;i < tables.size();i++){<br>
                    origTable = tables.getTable(i);<br>
                    if (tableName == null || origTable.getName().equals(tableName)) {<br>
                        newTable = (ITable)origTable.clone(true);<br>
                        newTable.setQualifiedName(origTable.getAlias());<br>
                        connectionInfo = newTable.getConnectionInfo();<br>
                        propertyBag = new PropertyBag();<br>
                        propertyBag.put("Trusted_Connection", params.trustedCon);<br>
                        propertyBag.put("Server Type", params.serverType);<br>
                        propertyBag.put("Use JDBC", params.useJdbc);<br><br>
                        propertyBag.put("Database DLL",params.databaseDLL);<br>
                        propertyBag.put("Connection URL", params.connectionURL);<br>
                        propertyBag.put("Database Class Name", params.dbClassName);<br>
                        connectionInfo.setAttributes(propertyBag);<br>
                        connectionInfo.setUserName(params.userName);<br>
                        connectionInfo.setPassword(params.password);<br>
                        clientDoc.getDatabaseController().setTableLocation(origTable, newTable); // Exception is thrown here<br>
              }                    <br>
         }     <br>
    <br>
    SQL Query : <br><br>
    Select empno, Fun_getEmpAddress(empno) from employee where empno = ?<br><br><br>
    Error Log:<br><br>
    2011-04-26 16:30:41.926 89022900 CrystalReportParms_jsp._jspService(368) Error while generating crystal report<br>
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: Unexpected database connector error---- Error code:-2147467259 Error code name:failed<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:2285)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:2305)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(SourceFile:737)<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)<br>
         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.an.a(SourceFile:108)<br>
         at com.crystaldecisions.sdk.occa.report.application.b0.if(SourceFile:148)<br>
         at com.crystaldecisions.sdk.occa.report.application.b0.b(SourceFile:95)<br>
         at com.crystaldecisions.sdk.occa.report.application.bb.int(SourceFile:96)<br>
         at com.crystaldecisions.proxy.remoteagent.UndoUnitBase.performDo(SourceFile:151)<br>
         at com.crystaldecisions.proxy.remoteagent.UndoUnitBase.a(SourceFile:106)<br>
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(SourceFile:2159)<br>
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(SourceFile:543)<br>
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(SourceFile:3898)<br>
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.setTableLocation(SourceFile:2906)<br>
         at com.mysystems.myapp.common.CRJavaHelper.changeDataSource(CRJavaHelper.java:157)<br>
         at com.mysystems.myapp.common.CrystalReport.print(CrystalReport.java:202)<br>
         at org.apache.jsp.english.CrystalReportParms_jsp._jspService(CrystalReportParms_jsp.java:368)<br>
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)<br>
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)<br>
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)<br>
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)<br>
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)<br>
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)<br>
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)<br>
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br>
         at com.mysystems.myapp.common.MyServletFilter.doFilter(MyServletFilter.java:107)<br>
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br>
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br>
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)<br>
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)<br>
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)<br>
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)<br>
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)<br>
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)<br>
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)<br>
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)<br>
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)<br>
         at java.lang.Thread.run(Thread.java:595)<br>
    Caused by: com.crystaldecisions.reports.common.QueryEngineException: Unexpected database connector error<br>
         at com.crystaldecisions.reports.queryengine.Connection.bf(SourceFile:2958)<br>
         at com.crystaldecisions.reports.queryengine.Rowset.z3(SourceFile:944)<br>
         at com.crystaldecisions.reports.queryengine.Rowset.bL(SourceFile:533)<br>
         at com.crystaldecisions.reports.queryengine.Rowset.zM(SourceFile:245)<br>
         at com.crystaldecisions.reports.queryengine.Connection.a(SourceFile:776)<br>
         at com.crystaldecisions.reports.queryengine.Table.a(SourceFile:2234)<br>
         at com.crystaldecisions.reports.queryengine.Table.if(SourceFile:2161)<br>
         at com.crystaldecisions.reports.queryengine.Table.try(SourceFile:1525)<br>
         at com.crystaldecisions.reports.queryengine.Table.a(SourceFile:568)<br>
         at com.crystaldecisions.reports.queryengine.Table.u7(SourceFile:2405)<br>
         at com.crystaldecisions.reports.dataengine.datafoundation.AddDatabaseTableCommand.new(SourceFile:529)<br>
         at com.crystaldecisions.reports.common.CommandManager.a(SourceFile:71)<br>
         at com.crystaldecisions.reports.common.Document.a(SourceFile:203)<br>
         at com.businessobjects.reports.sdk.requesthandler.f.a(SourceFile:175)<br>
         at com.businessobjects.reports.sdk.requesthandler.DatabaseRequestHandler.byte(SourceFile:1079)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(SourceFile:1167)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(SourceFile:661)<br>
         ... 47 more<br>
    Caused by: com.businessobjects.reports.jdbinterface.common.DBException: Unexpected database connector error<br>
         at com.crystaldecisions.reports.queryengine.driverImpl.jdbc.JDBCQueryDefinition.Execute(Unknown Source)<br>
         at com.crystaldecisions.reports.queryengine.driverImpl.jdbc.JDBCQueryDefinition.Execute(Unknown Source)<br>
         at com.crystaldecisions.reports.queryengine.Connection.bf(SourceFile:2953)<br>
         ... 63 more<br>
    Caused by: java.sql.SQLException: ORA-00904: "Fun_getEmpAddress": invalid identifier<br>
    <br>
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)<br>
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:304)<br>
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:271)<br>
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:622)<br>
         at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:111)<br>
         at oracle.jdbc.driver.T4CStatement.execute_for_describe(T4CStatement.java:350)<br>
         at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:895)<br>
         at oracle.jdbc.driver.T4CStatement.execute_maybe_describe(T4CStatement.java:382)<br>
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:985)<br>
         at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1515)<br>
         ... 66 more<br>

    i'm also getting the same error when i'm trying to call stored procedure (that will fetch the result set and populate the report) through the query in the report-viewer.jsp. The result set is fetched i.e. when i print the result set it shows on tomcat but it is not getting passed to Table object to populate the report. However when i try to give the query explicitly in the form of SELECT statements, it works fine i.e. i can view the report in the browser. But giving query in the form of SELECT is a very naive way and is ok if u have too less reports not requiring too many joins, thats why i was using stored procedure. Any help would be appreciated.

  • Error Failed to load database information - access report from jsp in linux

    Hi,
    While accessing the report from my jsp file I got the below error. I am using Crystal Report Server 2008 V1 in linux environment.
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: Failed to load database information.
    Error in File rpt_dp_customer_stmt {9515FCCB-0245-11E0-9DA4-000C29D5AD7D}.rpt:
    Failed to load database information.---- Error code:-2147482931 Error code name:failed
         com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException.throwReportSDKServerException(Unknown Source)
         com.crystaldecisions.proxy.remoteagent.s.a(Unknown Source)
         com.crystaldecisions.sdk.occa.report.application.cf.a(Unknown Source)
         com.crystaldecisions.sdk.occa.report.application.z.a(Unknown Source)
         com.crystaldecisions.sdk.occa.report.application.ak.if(Unknown Source)
         com.crystaldecisions.sdk.occa.report.application.ad.int(Unknown Source)
         com.crystaldecisions.sdk.occa.report.application.bk.for(Unknown Source)
         com.crystaldecisions.proxy.remoteagent.v.a(Unknown Source)
         com.crystaldecisions.proxy.remoteagent.v.if(Unknown Source)
         com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(Unknown Source)
         com.crystaldecisions.sdk.occa.report.application.DatabaseController.setTableLocation(Unknown Source)
         org.apache.jsp.formula_jsp._jspService(formula_jsp.java:117)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    Moreover, in my jsp i am passing the data base parameter like below,
    PropertyBag logonProperties = new PropertyBag();;
        mainPB.put(PropertyBagHelper.CONNINFO_CRQE_LOGONPROPERTIES, logonProperties);
        mainPB.put(PropertyBagHelper.CONNINFO_DATABASE_DLL, "libcrdb_jdbc.so");
        logonProperties.put("Database Class Name", "oracle.jdbc.driver.OracleDriver");
        logonProperties.put("Use JDBC", "true");
        logonProperties.put("Connection URL", url);
        logonProperties.put("Server", dbserver);
    Also I set the LD_LIBRARY_PATH in linux machine, because i have the libcrdb_jdbc.so file on that path.
    /home/ReportServer/bobje/enterprise120/linux_x86/crpe/

    Its working. I gave crdb_jdbc.dll name in the connection info

  • Error while changing the data source at runtime

    Hi All,
    I want to change the DB connection(from Dev to QA) in the code before viewing it to the user. I browsed through the samples and found a code. But when I', trying to use the code, I'm getting the following error.
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKLogonException: Logon Error: invalid arguments in call---- Error code:-2147217393 Error code name:dbLogonFailed
    The following is the code:(Bold - problem area)
    private static void switch_tables(DatabaseController databaseController) throws ReportSDKException {
    final String DBUSERNAME = "irs_tin";
    final String DBPASSWORD = "monica30";
    final String SERVERNAME = "n3qvdb999.1dc.com";
    final String CONNECTION_STRING = "Use JDBC=b(true);Connection URL=s(oracle.jdbc.OracleDriver://n3qvdb999.1dc.com:1631);" +
                                                       "Database Class Name=s(oracle.jdbc.OracleDriver);Server=s(n3qvdb999.1dc.com);" +
                                                       "User ID=s(irs_tin);Password=;Database=s(IRSQA);Trusted_Connection=b(false);" +
                                                       "JDBC Connection String=s(!oracle.jdbc.OracleDriver!jdbc:oracle:thin://n3qvdb999.1dc.com:1631;" +
                                                       "DatabaseName={database};user=;password=!)";
    final String DATABASE_NAME = "IRSQA";
              final String URI = "!oracle.jdbc.OracleDriver!jdbc:oracle:thin://n3qvdb999.1dc.com:1631;DatabaseName=;user=;password=!";
              final String DATABASE_DLL = "crdb_jdbc.dll";
              Tables tables = databaseController.getDatabase().getTables();
    for (int i = 0; i < tables.size(); i++) {
    ITable table = tables.getTable(i);
                   //Keep existing name and alias.
                   table.setName(table.getName());
                   table.setAlias(table.getAlias());
    IConnectionInfo connectionInfo = table.getConnectionInfo();
    PropertyBag propertyBag = new PropertyBag();
    propertyBag.put("Trusted_Connection", "false");
                   propertyBag.put("Server Name", SERVERNAME); //Optional property.
                   propertyBag.put("Connection String", CONNECTION_STRING);
                   propertyBag.put("Database Name", DATABASE_NAME);
                   propertyBag.put("Server Type", "JDBC (JNDI)");
                   propertyBag.put("URI", URI);
                   propertyBag.put("Use JDBC", "true");
                   propertyBag.put("Database DLL", DATABASE_DLL);
                   connectionInfo.setUserName(DBUSERNAME);
                   connectionInfo.setPassword(DBPASSWORD);
                   connectionInfo.setKind(ConnectionInfoKind.SQL);table.setConnectionInfo(connectionInfo);
    databaseController.setTableLocation(table, tables.getTable(i));
    Thanks for your time.

    Hi Guys,
    I managed to fix my problem.
    I have used the method in the utility class at this location:
    http://code.google.com/p/struts2demos/source/browse/trunk/Struts_Demo_ThirdDemo/src/com/businessobjects/samples/JRCHelperSample.java?r=4
    -Anil

  • Error messages while generating reports

    I am using CR XI SP4 and i get the following message when generating reports:
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: Unknown Database Connector Error
    Error in File D:\Temp\{67475350-F4E8-466A-B1E9-414965812A20}.rpt:
    Unknown Database Connector Error---- Error code:-2147482942 Error code name:failed
         at com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException.throwReportSDKServerException  (Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.t.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.cf.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.z.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ak.if(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ad.int(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.bk.for(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.w.a(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.w.if(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.setTableLocation(Unknown Source)
    In the RAS log file i see:
    ErrorLog 2009  7 21 17:45:16.188 732 3648 (\servers\ras\dtsagent\cdtsagent.cpp:3113): CDTSagent::doOneRequest reqId=250: CSResultException thrown.   ErrorSrc:"CRPE" FileName:"\servers\ras\dtsagent\reporthandler.cpp" LineNum:13209 ErrorCode:706 ErrorMsg:"Unknown Database Connector Error
    Error in File D:\Temp\{67475350-F4E8-466A-B1E9-414965812A20}.rpt: Unknown Database Connector Error"
    Any assistance would be appreciated
    Thanks

    hi,
    You are able to login in to application, Means your authentication is working.
    Open RPD in online mode and try to view data.
    Check your connection pool setting in General tab.
    Check you have selected appropriate Data Source Name, Call Interface.
    Thanks,
    Sainath Baludu.

  • Vendor code 12154 and 1005 error

    Hi,
    I have developed an application which users the RDC API set (CR XI R2 SP4.5 version) to preview crystal reports. All types of reports works fine but except one. This report is a blank report with one sub-report. I have used native oracle connection to connect to the Oracle database when creating this layout. The main report is blank but it has a sub report with one view. When I run the report from Crystal Report Designer it works fine, but when I run it through my application it give the following error. Other report with sub-reports where the main report also has views works fine. Itu2019s just that reports with sub-reports where there are no views in the main report gives this error. I have debugged the code and found that it gives this error when Iu2019m setting the table location of the view in the sub-report. Hope you can help me to solve this issue.
    I get two errors and they are,
    Fail to open the connection. Database Vendor Code 12154
    Fail to open the connection. Database Vendor Code 1005
    Thanks in advance,
    Chanaka

    Hi Ludek,
    Thank you for replying to my question. Here are the information you requested for.
    Q: Also, please confirm that this is happening on the same computer where you designed the report?
    A: I get the same errors when I run my application and try to view the reports from the same machine where I have installed Crystal Report Designer and created the reports from.
    Q: And, if you take out the subreport and run it on it's own as a main report, can you log on to it in code?
    A: If I take the sub-report and run it on itu2019s own it works fine from my code
    Normally when I create reports with sub-reports I donu2019t browse and import and existing sub-report but I create a sub-report with the Report Wizard. All sub-reports are not on demand sub-reports as well.
    Also, as I said before, other reports work fine. That is, reports without sub-reports which has views in the main report, reports without sub-reports where there are no views in the main report as well (blank report), reports with sub-reports where there are views in the main and sub-reports both. Also, for all these combinations I have checked with and without parameters in the main and sub-reports. The errors are only shown when the main report is blank (no views added) and has a sub-reports with views.
    Q: Also, open the report in the CR designer, got to the subreport. Then to the Database menu and expand the properties icon. What does it say at Database type?
    A: Selecting the sub-report and going the Database\Set Database Location and by clicking on the Properties dropdown (the + sign) I can see that the Database Type is Oracle Server which is correct as we always use the Native Oracle connection to connect to the database at design-time and at runtime when previewing the report from the application.
    Q: Please provide the code you are using to log on to the database
    A: Code is given below.
    Further investigating in to the issue I saw that if the sub-report has parameters I get the error u201CFail to open the connection. Details: [Database Vendor Code: 12154]u201D. If the sub-reports doesnu2019t have parameters then I get the error u201CLogon failed. Details: [Database Vendor Code: 1005]u201D. Debugging in to the code from VB I see that itu2019s throwing the error when I try to set the table location for a view in the sub-report. Here the error number is -2147189176 and the error description is Logon failed. My guess is that both the errors are linked to this location setting and the main report not having views or database connection.
    Regards,
    Chanaka
    In Main section
    For tableCountInMainReport= 1 To crxReport.database.Tables.count
      RDCSetNthTableLogOnInfo(u2026u2026u2026.)
      RDCSetNthTableLocation(u2026u2026u2026u2026u2026..)
    Next tableCountInMainReport
    For each section in report
       If sub-report exist
           RDCSetNTableLogonAndLocSubReport(u2026u2026u2026u2026u2026)
       End if
    Next section
    Methods called from the main method
    Public Function RDCSetNthTableLogOnInfo(ByVal tableIndex As Integer, ByVal server As String, ByVal database As String, ByVal userName As String, ByVal password As String) As String
       On Error GoTo ErrorHandler
       crxReport.database.Tables(tableIndex).ConnectionProperties.Item("Server") = server
       crxReport.database.Tables(tableIndex).ConnectionProperties.Item("User ID") = userName
       crxReport.database.Tables(tableIndex).ConnectionProperties.Item("Password") = password
       If (database <> Null) Or (database <> "") Then
          crxReport.database.Tables(tableIndex).ConnectionProperties.Add "Database", database
          RDCSetNthTableLogOnInfo = "True"
       End If
       RDCSetNthTableLogOnInfo = "True"
    ErrorHandler:
       If Err.Number <> 0 Then
          MsgBox "Error in setting table logon information for " & crxReport.database.Tables(tableIndex).Name & "." & "Error number : " & Err.Number & " Error description : " & Err.Description, vbOKOnly, "Error"
          RDCSetNthTableLogOnInfo = "CR_ERROR"
       End If
    End Function
    Public Function RDCSetNthTableLocation(ByVal tableIndex As Integer, ByVal location As String) As String
       On Error GoTo ErrorHandler
       crxReport.database.Tables(tableIndex).location = location + "." + crxReport.database.Tables(tableIndex).location
       RDCSetNthTableLocation = "True"
    ErrorHandler:
       If Err.Number <> 0 Then
          MsgBox "Error in setting the table location. Error number : " & Err.Number & " Error description : " & Err.Description, vbOKOnly, "Error"
          RDCSetNthTableLocation = "CR_ERROR"
       End If
    End Function
    Public Function RDCSetNTableLogonAndLocSubReport(ByVal setionCode As String, ByVal subreport As Integer, ByVal servers As String, ByVal databases As String, ByVal userNames As String, ByVal passwords As String, ByVal locations As String) As String
       Dim oSubreportObject As CRAXDRT.SubreportObject
       Dim locRet As String
       Dim sServers() As String
       Dim sDatabases() As String
       Dim sUsers() As String
       Dim sPasswords() As String
       Dim sLocations() As String
       Dim i As Integer
       On Error GoTo ErrorHandler
       If crxReport.Sections(setionCode).ReportObjects(subreport).Kind = crSubreportObject Then
          Set oSubreportObject = crxReport.Sections(setionCode).ReportObjects(subreport)
          Set oSubreport = oSubreportObject.OpenSubreport
          sServers = Split(servers, Chr$(31))
          sDatabases = Split(databases, Chr$(31))
          sUsers = Split(userNames, Chr$(31))
          sPasswords = Split(passwords, Chr$(31))
          sLocations = Split(locations, Chr$(31))
          If (oSubreport.database.Tables.count = UBound(sServers)) And _
             (oSubreport.database.Tables.count = UBound(sDatabases)) And _
             (oSubreport.database.Tables.count = UBound(sUsers)) And _
             (oSubreport.database.Tables.count = UBound(sPasswords)) And _
             (oSubreport.database.Tables.count = UBound(sLocations)) Then
             For i = 1 To oSubreport.database.Tables.count
                oSubreport.database.Tables(i).ConnectionProperties.Item("Server") = sServers(i)
                oSubreport.database.Tables(i).ConnectionProperties.Item("User ID") = sUsers(i)
                oSubreport.database.Tables(i).ConnectionProperties.Item("Password") = sPasswords(i)
                If (sDatabases(i) <> Null) Or (sDatabases(i) <> "") Then
                   oSubreport.database.Tables(i).ConnectionProperties.Add "Database", sDatabases(i)
                End If
                locRet = ""
                locRet = RDCSetNthTableLocationSubReport(setionCode, subreport, i, sLocations(i))
                If (locRet <> "True") Then
                   RDCSetNTableLogonAndLocSubReport = locRet
                End If
             Next i
             RDCSetNTableLogonAndLocSubReport = "True"
          Else
             RDCSetNTableLogonAndLocSubReport = "CR_ERROR"
          End If
       End If
    ErrorHandler:
       If Err.Number <> 0 Then
          MsgBox "Error in setting logon information for " & oSubreport.database.Tables(i).Name & "in subreport." & "Error number : " & Err.Number & " Error description : " & Err.Description, vbOKOnly, "Error"
          RDCSetNTableLogonAndLocSubReport = "CR_ERROR"
       End If
    End Function
    Public Function RDCSetNthTableLocationSubReport(ByVal setionCode As String, ByVal subreport As Integer, ByVal tableIndex, ByVal location) As String
       Dim oSubreportObject As CRAXDRT.SubreportObject
       On Error GoTo ErrorHandler
       If crxReport.Sections(setionCode).ReportObjects(subreport).Kind = crSubreportObject Then
          Set oSubreportObject = crxReport.Sections(setionCode).ReportObjects(subreport)
          oSubreportObject.OpenSubreport.database.Tables(tableIndex).SetTableLocation location + "." + oSubreportObject.OpenSubreport.database.Tables(tableIndex).location, oSubreportObject.OpenSubreport.database.Tables(tableIndex).Name, ""
          RDCSetNthTableLocationSubReport = "True"
       Else
          RDCSetNthTableLocationSubReport = "CR_ERROR"
       End If
    ErrorHandler:
       If Err.Number <> 0 Then
          MsgBox "Error in setting the table location in subreport. Error number : " & Err.Number & " Error description : " & Err.Description, vbOKOnly, "Error"
          RDCSetNthTableLocationSubReport = "CR_ERROR"
       End If
    End Function

  • Group Tree: Error in Ajax response - message: missing } in XML expression

    Hi,
    We were using a previous version of Crystal libs and viewer. I wanted to get up to date with the latest jars and viewer so I downloaded and installed the version with Eclipse 3.4.1 and crystal development bundled together.
    I've copied the new jars from there into my existing project. I've also copied the folder cyrstalreportviewers into the project. We're using Tomcat 6.
    I've now got a problem with the Group Tree at the moment since I started using the latest libraries and crystal report viewers.
    My web.xml looks like this.
            <context-param>
              <param-name>crystal_image_uri</param-name>
              <param-value>/crystalreportviewers</param-value>
         </context-param>
         <context-param>
              <param-name>crystal_image_use_relative</param-name>
              <param-value>webapp</param-value>
         </context-param>
            <servlet id="CrystalReportViewerServlet">
              <servlet-name>CrystalReportViewerServlet</servlet-name>
              <display-name>CrystalReportViewerServlet</display-name>
              <servlet-class>
                   web.servlet.ReportingViewerServlet
              </servlet-class>
              <load-on-startup>1</load-on-startup>
         </servlet>
           <servlet-mapping id="CrystalReportViewerServletMapping">
              <servlet-name>CrystalReportViewerServlet</servlet-name>
              <url-pattern>/CrystalReportViewerHandler</url-pattern>
         </servlet-mapping>
    A request to the uri https://......../WebApp/CrystalReportViewerHandler?id=3
    The servlet doesn't do anything that seems to be uncommon. I can post more precisely what it does if needed.
    The report will load correctly, I don't get an error page asking if my crystalreportviewers/ path is accessable to the server.
    I get a parameter page asking for a value. I enter that and click OK.
    The viewer sends a POST request to my Servlet and is handled correctly.
    The report is then loaded.
    On the click of an item in the Group Tree it sends an Ajax POST request and I then get the following error:
    message: missing } in XML expression
    fileName: https://localhost:8080/WebApp/crystalreportviewers/allInOne.js
    lineNumber: 10
    stack: ()@:0
    eval("(\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n)")@:0
    ([object XMLHttpRequest])@https://localhost:8080/WebApp/crystalreportviewers/allInOne.js:10
    ([object Object],[object Object],[object XMLHttpRequest])@https://localhost:8080/WebApp/crystalreportviewers/allInOne.js:12
    ([object XMLHttpRequest])@https://localhost:8080/WebApp/crystalreportviewers/allInOne.js:10
    ()@https://localhost:8080/WebApp/crystalreportviewers/allInOne.js:10
    ([object XMLHttpRequest])@https://localhost:8080/WebApp/crystalreportviewers/allInOne.js:10
    ([object XMLHttpRequest])@https://localhost:8080/WebApp/crystalreportviewers/allInOne.js:10
    ([object Object],[object Event])@https://localhost:8080/WebApp/crystalreportviewers/allInOne.js:10
    ([object Event])@https://localhost:8080/WebApp/crystalreportviewers/allInOne.js:10
    name: SyntaxError
    Clicking on the Groups headers on the right hand pane work as expected. Although I notice they are not Ajax requests.
    I've spent a few days at this now and I feel like I'm running out of options but to revert back to the previous version we were using. I presume this works elsewhere so I've got to be doing something incorrectly with my setup.
    If anyone needs more info then please ask.
    Thanks,
    Patrick

    Hi Ted,
    Thanks for your reply.
    That's our own Servlet. It extends javax.servlet.http.HttpServlet
    doGet does the following stuff:
    Creates a ReportClientDocument.
    Sets the ReportAppServer to "inproc:jrc".
    Opens the report as read only.
    Gets the DBController and calls logon on it.
    Then calls replaceConnection.
    Adds some discrete param values.
    Creates a CrystalReportViewer.
    gets the report source from the report client document.
    sets the report source on the crystal report viewer.
    set own page to true.
    sets the report source in the session.
    The crystal Report Viewer then processes the Http Request.
    doPost:
    gets the report source from the session.
    creates a CrystalReportViewer.
    sets the report source on the crystal report viewer.
    set own page to true.
    The crystal Report Viewer then processes the Http Request.
    One thing I changed in there was the way the data source was changed. It used to loop through tables.
    Tables tables = clientDoc.getDatabaseController().getDatabase().getTables();
    newTable.setQualifiedName(qualifiedName);
    clientDoc.getDatabaseController().setTableLocation(origTable, newTable);
    Now it does this:
    DatabaseController dbController = clientDoc.getDatabaseController();
    dbController.logon(username, password);
    dbController.replaceConnection(new ConnectionInfo(), connectionInfo, null, DBOptions._useDefault);
    If you need more info please do let me know. Thanks for your help.
    Patrick

  • SetTableLocation EXTREMELY SLOW IN ORACLE

    <p>
    Hi I am using the code below to change my database provider at runtime. <br />
    Unfortunately this line <code>ReportDocument.ReportClientDocument.DatabaseController.SetTableLocation</code> is extremely slow trying to change table location in Oracle. It takes 2 or more seconds per table so it is unacceptable for us.
    Please I need a solution as soon as possible.<br />
    It is weird, becaus with SqlServer it works fine! so I don't understand what's the problem with CrystalReports and Oracle.<br />
    Ther is anyone who have a solution?<br />
    We are using: CrystalReports 12, Oracle 10, 11.<br />
    Thank you very much.
    </p>
    <code>
    public partial class _Default : System.Web.UI.Page<br />
    {<br />
          protected void Page_Load(object sender, EventArgs e)<br />
          {<br />
                ReportDocument report = this.ChangeConnectionInfo();   <br />    
                this.CrystalReportViewer1.ReportSource=report;<br />
                this.CrystalReportViewer1.RefreshReport();<br />
          }<br />
        <br /><br />
          private ReportDocument ChangeConnectionInfo()<br />
          {<br />
                ReportDocument boReportDocument = new ReportDocument();<br />
                string reportFileName = Server.MapPath("CrystalReport1.rpt");<br />
                //*EDIT* Change the path and report name to the report you want to change.<br />
                boReportDocument.Load(reportFileName, OpenReportMethod.OpenReportByTempCopy);<br />
    <br />
                //Create a new Database Table to replace the reports current table.<br />
                CrystalDecisions.ReportAppServer.DataDefModel.Table boTable = new CrystalDecisions.ReportAppServer.DataDefModel.Table();<br />
    <br />
                //boMainPropertyBag: These hold the attributes of the tables ConnectionInfo object<br />
                PropertyBag boMainPropertyBag = new PropertyBag();<br />
                //boInnerPropertyBag: These hold the attributes for the QE_LogonProperties<br />
                //In the main property bag (boMainPropertyBag)<br />
                PropertyBag boInnerPropertyBag = new PropertyBag();<br />
    <br />
                //Set the attributes for the boInnerPropertyBag<br />
                boInnerPropertyBag.Add("Data Source", "oracle1");<br />
                boInnerPropertyBag.Add("Locale Identifier", "3082");<br />
                boInnerPropertyBag.Add("OLE DB Services", "-5");<br />
                boInnerPropertyBag.Add("Provider", "MSDAORA");<br />
                boInnerPropertyBag.Add("Use DSN Default Properties", "False");<br />
    <br />
                //Set the attributes for the boMainPropertyBag<br />
                boMainPropertyBag.Add("Database DLL", "crdb_ado.dll");<br />
                boMainPropertyBag.Add("QE_DatabaseName", "");<br />
                boMainPropertyBag.Add("QE_DatabaseType", "OLE DB (ADO)");<br />
                //Add the QE_LogonProperties we set in the boInnerPropertyBag Object<br />
                boMainPropertyBag.Add("QE_LogonProperties", boInnerPropertyBag);<br />
                boMainPropertyBag.Add("QE_ServerDescription", "oracle1");<br />
                boMainPropertyBag.Add("QE_SQLDB", "True");<br />
                boMainPropertyBag.Add("SSO Enabled", "False");<br />
    <br />
                //Create a new ConnectionInfo object<br />
                CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo boConnectionInfo = new CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo();<br />
                //Pass the database properties to a connection info object<br />
                boConnectionInfo.Attributes = boMainPropertyBag;<br />
                //Set the connection kind<br />
                boConnectionInfo.Kind = CrConnectionInfoKindEnum.crConnectionInfoKindCRQE;<br />
                //*EDIT* Set the User Name and Password if required.<br />
                boConnectionInfo.UserName = "oracle";<br />
                boConnectionInfo.Password = "oracle";<br />
                //Pass the connection information to the table<br />
                boTable.ConnectionInfo = boConnectionInfo;<br />
    <br />
                //Get the Database Tables Collection for your report<br />
                CrystalDecisions.ReportAppServer.DataDefModel.Tables boTables;<br />
                boTables = boReportDocument.ReportClientDocument.DatabaseController.Database.Tables;<br />
            <br />
                //For each table in the report:<br />
                // - Set the Table Name properties.<br />
                // - Set the table location in the report to use the new modified table<br />
                boTable.Name = "TABLE1";<br />
                boTable.QualifiedName = "SCHEMA1.TABLE1";<br />
                boTable.Alias = "TABLE1";<br />
    <br />
    <br />
            <span class="style1">    //<br />
                //THIS LINE IS EXTREMELY SLOW IN ORACLE<br />
                //<br />
                boReportDocument.ReportClientDocument.DatabaseController.SetTableLocation(boTables[0], boTable);<br />
    <br /></span>
                boReportDocument.VerifyDatabase();<br />
            <br />
    <br />
                return boReportDocument;<br />
          }<br />
    }<br />
    </code>

    I have a very similar issue using Crystal XI, and now more recently XI R2 updated  through SP6.
    My database connections for the report utilize ODBC, which is how our application talks to the database, and provides a connection to crystal.
    Oracle version is 10g R2, patched on client with 10.3.
    I have a common databaes, in which I have views on many tables.  The views depict a collection, and when the report is to run on a different collection I need to change the views on all of the tables (including those in subreports), as well as provide the credentials for connection.
    I'm using VStudio2008 C++ with PutLocation( )
    First using GetLocation() to find the initial location, then PutLocation to change it
    using
    IDatabaseTablePtr table;
    try {
         strcpy(tableLocation, table->GetLocation());
    // make my changes to the table's location (the view)
         table->PutLocation(tableLocation);
    catch (_com_error& e) {
    // if problems, handle and display errors.
    HandleError(NULL, e);
    I can have upwards of 20 tables/views in a report, and this can take 1/2 to a full minute to accomplish.
    In addition, I optionally provide a user the ability to add criteria and sorting to the report; and perform a table/column collection to show them to the user for seleciton.  This same process is used on all views (including those in subreports), so proper data lists can be provided from the correct views.
    Does anyone have a solution for this?
    Edited by: BobOfPlanet on Mar 3, 2010 5:58 PM

  • Crystal Reports 2008 - on Vista error  (Oracle db)

    I have problem when i try launch one report on Vista,
    when i'm using Oracle connection.(the report worked fine on SQL).
    - Using : Visual basic .net(Framework: 2.0 )
    - Windows Vista SP1
    - Crystal Reports 2008
        - CrystalDecisions.CrystalReports.Engine.ReportDocument
        - CrystalDecisions.Shared.ConnectionInfo
    Code:(details)
    'Oracle provider
    dbAttributes.Collection.Set("Server", "ORCL")
    dbAttributes.Collection.Set("Trusted_Connection", False)
    con.ServerName = odbConfig.DataSource
    con.DatabaseName = ""
    con.UserID = odbConfig.UserId
    con.Password =  odbConfig.Password
    con.Attributes.Collection.Set("Database DLL", "crdb_oracle.dll")
    con.Attributes.Collection.Set("QE_DatabaseName", "")
    con.Attributes.Collection.Set("QE_DatabaseType", "Servidor de Oracle")
    con.Attributes.Collection.Set("QE_ServerDescription", "ORCL") con.Attributes.Collection.Set("QE_SQLDB", True)
    con.Attributes.Collection.Set("SSO Enabled", False)
    con.Attributes.Collection.Set("QE_LogonProperties", dbAttributes)
    ..crTableLogOnInfo.ConnectionInfo = con
    crTable.ApplyLogOnInfo(crTableLogOnInfo)..
    After..CRViewer.Show()
    Error :
    (Crystal error) : "Failed to retrieve data from the database"
    Details : [Código de proveedor de base de datos: 942.
    RAS
    Using usar Report App Server, i have problems too,
    using Oracle connection.
    - Using : Visual basic .net(Framework : 2.0 )
    - Windows Vista SP1
    - Crystal Reports 2008
    - CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo
    - CrystalDecisions.ReportAppServer.DataDefModel.PropertyBag
    - CrystalDecisions.ReportAppServer.DataDefModel.Controllers
    Code :
    .. boAttributesPropertyBag("QE_DatabaseType") =
    "Oracle Server"..
    ..boLogonPropertyBag.Add("Provider", "MSDAORA")
    boLogonPropertyBag.Add("Server", odbConfig.DataSource) 'Service name
    boLogonPropertyBag.Add("Trusted_Connection", False)...
    Error on : ..boDatabaseController.SetTableLocation(boTable, boTableNew)..
    Error details (RAS) :Failed to retrieve data from the database. xxxxxxx.rpt: StackTrace: CrystalDecisions.ReportAppServer.Controllers.DatabaseControllerClass.SetTableLocation(u2026.
    I haven`t problem when i launch the report from Crystal Reports designer.(on Oracle, the same server and DB).
    Regards
    Ismael
    Edited by: Ismael Ramirez Rodriguez on Oct 14, 2008 5:20 PM

    Ismael, a few suggestions;
    1) Remeber that Oracle is case sensitive, so ensure that is in order.
    2) Have a look at the following threads and see if they help:
    https://forums.sdn.sap.com/click.jspa?searchID=17494545&messageID=6325240
    https://forums.sdn.sap.com/click.jspa?searchID=17494545&messageID=5919267
    https://forums.sdn.sap.com/click.jspa?searchID=17494765&messageID=6023461
    3) As a test, comment out the logon code, let the report prompt and fill in the logon parameters when prompted. Does that work?
    4) You do not mention if this is a web or a win app. If this is a web app, try a simple win app. If the win app works, you are looking at permissions issue
    5) Ensure that you have SP 0 for CR 2008 applied. SP 0 is here:
    https://smpdl.sap-ag.de/~sapidp/012002523100007528552008E/cr2008_sp0.zip
    6) When you say he report works inthe designer, is this designer on the same Vista box as where you get the runtime error?
    Ludek

  • No database connector has been specified - Error code:-2147467259 error

    Hi,
    Iu2019m trying to populate a report and preview it using JRC. Iu2019m using the JRC jar files versions from CR XI R2 SP4. I have created a report using locale data source xml file and scheme file. I can preview the report from Crystal Report Designer without any probelm. When I try to preview the same layout using my Java application I get the error " No database connector has been specified.---- Error code:-2147467259 Error code name:failed " when I try to set the  table location (reportClientDoc.getDatabaseController().setTableLocation(tables.getTable(i),table);) I even get this when I try to set the date source (reportClientDoc.getDatabaseController().setDataSource(xmlDataSet, " FND_SESSION_REP/FNDSESSION", "FND_SESSION_REP/FNDSESSION");) I tried shifting the order of setDataSource and setTableLocation but that didnu2019t help as well.
    Can you please help me?
    Thanks you in advance.
    Regards,
    Chanaka
    Code to set connection info
    public void setDBLogonXML(String xmlFilePath, String xsdFilePath)
          final String SERVER_TYPE = "XML";
          final String CONVERT_MULTIVALUE_TO_TABLE="false";
          final String DATABASE_DLL = "crdb_xml.dll";
          try {
             Tables tables = reportClientDoc.getDatabaseController().getDatabase().getTables();
             //Set the datasource for all main report tables.
             for (int i = 0; i < tables.size(); i++) {
                ITable table = tables.getTable(i);
                //Keep existing name and alias.
                table.setName(table.getName());
                table.setQualifiedName(table.getQualifiedName());
                table.setAlias(table.getAlias());
                //Change connection information properties.
                IConnectionInfo connectionInfo = table.getConnectionInfo();
                //Set new table connection property attributes.
                PropertyBag propertyBag = new PropertyBag();
                propertyBag.put("Server Type", SERVER_TYPE);
                propertyBag.put("Database DLL",DATABASE_DLL );
                propertyBag.put("Local XML File",xmlFilePath);
                propertyBag.put("Local Schema File",xsdFilePath);
                String conString = "Local XML File=s("+xmlFilePath+");Local Schema File=s("+xsdFilePath+")";
                propertyBag.put("Connection String",conString);
                connectionInfo.setAttributes(propertyBag);
                table.setConnectionInfo(connectionInfo);
                //Update old table in the report with the new table.
                reportClientDoc.getDatabaseController().setTableLocation(tables.getTable(i),table);
                catch(ReportSDKException ex) {     
                   System.out.println(ex);
              catch(Exception ex) {
                   System.out.println(ex);               
    Main programu2026..
    setDBLogonXML("D:\\Reports\\Current Sessions.xml","D:\\Reports\\FndSessionRep.xsd");          
             xmlDataSet = new XMLDataSet(new ByteArray(xmlFile), new ByteArray(xsdFile));
             reportClientDoc.getDatabaseController().setDataSource(xmlDataSet, "FND_SESSION_REP/FNDSESSION", "FND_SESSION_REP/FNDSESSION");
    Error Stack
    - JRCAgent1 detected an exception: No database connector has been specified.
            at com.crystaldecisions.sdk.occa.report.lib.ReportSDKException.throwReportSDKException(Unknown Source)
            at com.businessobjects.reports.sdk.b.e.a(Unknown Source)
            at com.businessobjects.reports.sdk.b.e.a(Unknown Source)
            at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
            at com.crystaldecisions.proxy.remoteagent.y.a(Unknown Source)
            at com.crystaldecisions.proxy.remoteagent.r.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.cf.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.z.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.ak.if(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.ad.int(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.bk.for(Unknown Source)
            at com.crystaldecisions.proxy.remoteagent.v.a(Unknown Source)
            at com.crystaldecisions.proxy.remoteagent.v.if(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.DatabaseController.setTableLocation(Unknown Source)
            at com.crystaldecisions.reports.sdk.DatabaseController.setTableLocation(Unknown Source)
            at jrc_xml_test_app_01.testDlg.setDBLogonXML(testDlg.java:378)
            at jrc_xml_test_app_01.testDlg.jButton3ActionPerformed(testDlg.java:117)
            at jrc_xml_test_app_01.testDlg.access$200(testDlg.java:23)
            at jrc_xml_test_app_01.testDlg$3.actionPerformed(testDlg.java:67)
            at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
            at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
            at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
            at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
            at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
            at java.awt.Component.processMouseEvent(Component.java:5501)
            at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
            at java.awt.Component.processEvent(Component.java:5266)
            at java.awt.Container.processEvent(Container.java:1966)
            at java.awt.Component.dispatchEventImpl(Component.java:3968)
            at java.awt.Container.dispatchEventImpl(Container.java:2024)
            at java.awt.Component.dispatchEvent(Component.java:3803)
            at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
            at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
            at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
            at java.awt.Container.dispatchEventImpl(Container.java:2010)
            at java.awt.Window.dispatchEventImpl(Window.java:1778)
            at java.awt.Component.dispatchEvent(Component.java:3803)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
            at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
            at java.awt.Dialog$1.run(Dialog.java:525)
            at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
            at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: No database connector has been specified.---- Error code:-2147467259 Error code name:failed
    - JRCAgent1 received request: setDataSourceRequest
    - command SETUP: Create Data Connection
    - command PERFORM: Create Data Connection
    - -- command is undoable -> purge redo stack
    - command SETUP: Set Data Connection Property
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: No database connector has been specified.---- Error code:-2147467259 Error code name:failed
            at com.crystaldecisions.sdk.occa.report.lib.ReportSDKException.throwReportSDKException(Unknown Source)
            at com.businessobjects.reports.sdk.b.e.a(Unknown Source)
            at com.businessobjects.reports.sdk.b.e.a(Unknown Source)
    - command PERFORM: Set Data Connection Property
            at com.businessobjects.reports.sdk.b.e.a(Unknown Source)
    - -- command is NOT UNDOABLE -> purge undo stack
            at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
    - --- Purging command Create Data Connection
            at com.crystaldecisions.proxy.remoteagent.y.a(Unknown Source)
    - command SETUP: Set Data Connection Property
            at com.crystaldecisions.proxy.remoteagent.r.a(Unknown Source)
    - command PERFORM: Set Data Connection Property
            at com.crystaldecisions.sdk.occa.report.application.cf.a(Unknown Source)
    - JRCAgent1 detected an exception: No database connector has been specified.
            at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.lib.ReportSDKException.throwReportSDKException(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.DatabaseController.setDataSource(Unknown Source)
            at com.businessobjects.reports.sdk.b.e.a(Unknown Source)
            at com.crystaldecisions.reports.sdk.DatabaseController.setDataSource(Unknown Source)
            at com.businessobjects.reports.sdk.b.e.a(Unknown Source)
            at jrc_xml_test_app_01.testDlg.jButton3ActionPerformed(testDlg.java:121)
            at com.businessobjects.reports.sdk.b.e.a(Unknown Source)
            at jrc_xml_test_app_01.testDlg.access$200(testDlg.java:23)
            at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
            at jrc_xml_test_app_01.testDlg$3.actionPerformed(testDlg.java:67)
            at com.crystaldecisions.proxy.remoteagent.y.a(Unknown Source)
            at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
            at com.crystaldecisions.proxy.remoteagent.r.a(Unknown Source)
            at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
            at com.crystaldecisions.sdk.occa.report.application.cf.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(Unknown Source)
            at com.crystaldecisions.sdk.occa.report.application.DatabaseController.setDataSource(Unknown Source)
            at com.crystaldecisions.reports.sdk.DatabaseController.setDataSource(Unknown Source)
            at jrc_xml_test_app_01.testDlg.jButton3ActionPerformed(testDlg.java:121)
            at jrc_xml_test_app_01.testDlg.access$200(testDlg.java:23)
            at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
            at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
            at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
            at java.awt.Component.processMouseEvent(Component.java:5501)
            at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
            at java.awt.Component.processEvent(Component.java:5266)
            at java.awt.Container.processEvent(Container.java:1966)
            at java.awt.Component.dispatchEventImpl(Component.java:3968)
            at jrc_xml_test_app_01.testDlg$3.actionPerformed(testDlg.java:67)
            at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
            at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
            at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
            at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
            at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
            at java.awt.Component.processMouseEvent(Component.java:5501)
            at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
            at java.awt.Container.dispatchEventImpl(Container.java:2024)
            at java.awt.Component.processEvent(Component.java:5266)
            at java.awt.Component.dispatchEvent(Component.java:3803)
            at java.awt.Container.processEvent(Container.java:1966)
            at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
            at java.awt.Component.dispatchEventImpl(Component.java:3968)
            at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
            at java.awt.Container.dispatchEventImpl(Container.java:2024)
            at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
            at java.awt.Component.dispatchEvent(Component.java:3803)
            at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
            at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
            at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
            at java.awt.Container.dispatchEventImpl(Container.java:2010)
            at java.awt.Window.dispatchEventImpl(Window.java:1778)
            at java.awt.Component.dispatchEvent(Component.java:3803)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
            at java.awt.Container.dispatchEventImpl(Container.java:2010)
            at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
            at java.awt.Window.dispatchEventImpl(Window.java:1778)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
            at java.awt.Component.dispatchEvent(Component.java:3803)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
            at java.awt.Dialog$1.run(Dialog.java:525)
            at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
            at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
            at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
            at java.awt.Dialog$1.run(Dialog.java:525)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    No database connector has been specified.
            at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
            at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

    Post Author: ililal
    CA Forum: Data Connectivity and SQL
    I spoke directly with Business Objects. They said,"Sun Application Server 8.2 is not supported."

  • RAS Error  - The table could not be found.

    Hi,
      Bo version : XI2 SP2
      BO SDK : RAS
      I am getting following error while setting table location for the report going against Sybase (ODBC CR driver 5.1 wired protocol) database report.
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException: The table 'CASH' could not be found.
    Error in File C:\WINDOWS\TEMP\{6F59C5DB-DB01-4905-BFE6-5A302D2A9283}.rpt:
    The table could not be found.---- Error code:-2147482939 Error code name:failed
         at com.crystaldecisions.sdk.occa.report.lib.ReportSDKServerException.throwReportSDKServerException(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.s.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.cf.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.z.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ak.if(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ad.int(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.bk.for(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.v.a(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.v.if(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.DatabaseController.setTableLocation(Unknown Source)
    what all properties needs to be set for Logon and also Location specific, any sample code for the RAS + ODBC + SYBASE will be highly appreciated.
    code giving error
                   // DatabaseController databaseController = reportClientDoc.getDatabaseController();
                   Tables tables = reportClientDoc.getDatabaseController().getDatabase().getTables();
                   ITable newTable = null;
                   for (Object object : tables) {
                        Table table = (Table) object;
                        newTable = (Table) table.clone(true);
                        log.info("Table Name " + table.getName());
                        IConnectionInfo connectionInfo = table.getConnectionInfo();
                        com.crystaldecisions.sdk.occa.report.lib.PropertyBag propertyBag = connectionInfo.getAttributes();
                        log.info("propertyBag.size >> " + propertyBag.size());
                        databaseName = (String) propertyBag.get(DB_NAME);
                        dsnName = (String) propertyBag.get(DSN);
                        Set<Object> set = propertyBag.keySet();
                        for (Object key : set) {
                             log.info("Key >> " + key);
                             log.info(" === Value >> " + propertyBag.get(key));
                        log.info("----
                        // newTable.setQualifiedName(table.getAlias());
                        // Change connection information properties
                        connectionInfo = newTable.getConnectionInfo();
                        // Set new table logon properties
                        // 1. Set the DSN
                        // 2. Set the Data Source (Database)
                        PropertyBag newPropertyBag = (PropertyBag) propertyBag.clone(true);
                        // Set new table logon properties (the DSN and the data source)
                        PropertyBag logonPb = new PropertyBag();
                        //logonPb.putStringValue("DSN", dsnName);
                        logonPb.put("Database Type", "ODBC (RDO)");
                        logonPb.put("Data Source Name", dsnName);
                        logonPb.put("DSN", dsnName);
                        logonPb.putStringValue("Database", databaseName);
                        logonPb.putBooleanValue("UseDSNProperties", false);
                        String dataSource = "";
                        DatabaseInfoVO databaseInfoVO = null;
                        if (StringUtils.indexOf(dsnName, "XXXX") != -1) {
                             dataSource = "EPAM-" + databaseName;
                             databaseInfoVO = this.getDatabaseInfoMap().get(dataSource.toUpperCase());
                        } else if (StringUtils.indexOf(dsnName, "YYYY") != -1) {
                             dataSource = "EIMCO-" + databaseName;
                             databaseInfoVO = this.getDatabaseInfoMap().get(dataSource.toUpperCase());
                        } else if (StringUtils.indexOf(dsnName, "ZZZZ") != -1) {
                             dataSource = "CRD-" + databaseName;
                             databaseInfoVO = this.getDatabaseInfoMap().get(dataSource.toUpperCase());
                        } else if (StringUtils.indexOf(dsnName, "WWWW") != -1) {
                             dataSource = "AA-" + databaseName;
                             databaseInfoVO = this.getDatabaseInfoMap().get(dataSource.toUpperCase());
                        log.info("databaseInfoVO >>" + databaseInfoVO);
                        // Overwrite any existing properties with updated values
                        newPropertyBag.put(PropertyBagHelper.CONNINFO_CRQE_LOGONPROPERTIES, logonPb);
                        newPropertyBag.putStringValue(PropertyBagHelper.CONNINFO_CRQE_SERVERDESCRIPTION, dsnName);
                        newPropertyBag.putStringValue(PropertyBagHelper.CONNINFO_CRQE_DATABASENAME, databaseName);
                        newPropertyBag.putStringValue(PropertyBagHelper.CONNINFO_DATABASE_DLL, "crdb_odbc.dll");
                        newPropertyBag.putBooleanValue(PropertyBagHelper.CONNINFO_CRQE_SQLDB, true);
                        newPropertyBag.putBooleanValue(PropertyBagHelper.CONNINFO_SSO_ENABLED, false);
                        set = newPropertyBag.keySet();
                        for (Object key : set) {
                             log.info("Key2 >> " + key);
                             log.info("Value2 >> " + newPropertyBag.get(key));
                        connectionInfo.setAttributes(newPropertyBag);
                        connectionInfo.setUserName(databaseInfoVO.getUserName());
                        connectionInfo.setPassword(EZSuiteEncodeUtil.decrypt(databaseInfoVO.getPassword()));
                        connectionInfo.setKind(ConnectionInfoKind.CRQE);
                        newTable.setConnectionInfo(connectionInfo);
                        newTable.setName(table.getName());
                        newTable.setAlias(table.getAlias());
                        newTable.setQualifiedName(table.getQualifiedName());
                        // Update the table information
                        reportClientDoc.getDatabaseController().setTableLocation(table, newTable);
    Thanks,
    Rupesh
    Edited by: Rupesh Raut on Oct 28, 2008 8:45 PM
    Edited by: Rupesh Raut on Oct 28, 2008 8:46 PM

    Hi,
    This error message appears when the user does not have sufficient rights to the business view on which the report is based.
    To resolve this error message, open the Business View Manager and verify that the user's rights are set up correctly.
    To view a report based on a business view, the user or the group to which the user belongs, must have 'View' rights to the business view. Also, verify that none of the groups, including the Everyone group, to which the user belongs, has been explicitly denied 'View' rights.
    If this does'nt help try to update database driver.
    Make the copy of database and save it with different name ( without underscore) and point the crystal report to it.
    Regards,
    Shweta

  • ERROR - JRCAgent1 received a request that cannot be handled by the JRC

    <p>Dear all, </p><p>trying to use JRC to export to pdf from a resultset, it ran but return with this error.</p><p>ERROR - JRCAgent1 received a request that cannot be handled by the JRC<br />ERROR - JRCAgent1 detected an exception: Currently not implemented in the Java Reporting Component</p><p>ReportClientDocument reportClientDoc = new ReportClientDocument();</p><p>reportClientDoc.open(REPORT_NAME, 0);</p><p>reportClientDoc.getDatabaseController().setDataSource(rs, "rpt01", "abc");</p><p>// Did some debugging and the error is returned here</p><p>ByteArrayInputStream byteArrayInputStream = (ByteArrayInputStream)reportClientDoc.getPrintOutputController().export(ReportExportFormat.PDF);</p><p>reportClientDoc.close();</p><p>Any help is very much appreicated, thanks.</p>

    <p> </p><p>The "Currently not implemented in the JRC" is likely not the cause of your issue.  That log error message is wrong - some functionality was moved in the JRC, but they didn&#39;t remove the logging.  It&#39;s invoked when you do a setDataSource or setTableLocation method call.  </p><p>Do you get a different error?</p><p>What do you do with the ByteArrayInputStream after you get it?  Do you save the contents to a file?</p><p>TUeda </p>

Maybe you are looking for

  • Header Line Per ALV group of items in GRID not LIST.

    Hello Experts, My question may seem very basic but i am stuck with it. I am using ALV Grid function (REUSE_ALV_GRID_DISPLAY) to display my ALV. Example Case : I have 10 line items . 1)     2 line items are sports. 2)     2 line items are books. 3)   

  • Quicktime Swapping Video Height and Width

    I have a video with a resolution of 1280X720, and i have confirmed the videos resolution in its properties.  Opening the video in windows media player shows a widescreen type film, with the width of 1280 and height of 720. When I open the video in Qu

  • Contribute 4 - Need to create new Admin / do not have old Admin password

    Hi - I have all of my connections set to the site in which I am working, but cannot edit any additional pages that I am adding to the site. I am able to add the page, add the image or whatever, but cannot edit. An error shows up and tells me to conta

  • Migration to CE 7.3

    Hi experts, Does anybody have experience or information about migration from NWCE 7.2 to 7.3? Is it straightforward? Will BPM processes, BRM rules, Visual Composer UIs, offilne forms, etc. be correctly migrated? Thanks, Ricardo Giacomin

  • String index out of bound

    Hi, I am getting the following error--> "java.lang.StringIndexOutOfBoundsException: String index out of range: 58 at java.lang.String.charAt(String.java:444) "can anyone tell me what is the root cause of such errors and how to avoid them? regards, An