Locating Crystal Reports

I'm having a problem with locating my report files. In the config file I have ../.. setup and my report are located relative to my Application root. The probem I am seeing is the application seems to be looking for the files relative to the <server>/.wlnotdelete/extract/<earFile>_<appName>/jarfiles/WEB-INF/lib directory as opposed to the
<server>/.wlnotdelete/<earFile>/<appName>/WEB-INF/lib driectory which makes it impossible to see my report that are in a directory within the application context.
Is there a server config param to keep the jarfile from being copied? Or another posible solution?

I have Crystal Reports XI R2 .Net Server 2005 installed.  I don't think this SP5 https://smpdl.sap-ag.de/~sapidp/012002523100013876392008E/crxir2win_sp5.exe is the correct version for what I have installed.
Is there a patch for the ADO.NET Slow Performance issue for Crystal Reports XI R2 .Net Server 2005?
Thanks

Similar Messages

  • Adding a Crystal Report (report or layout) in a specific menu location

    Hi,
    i want to import a CR Report through SDK.
    I found an example in the sdk help center. You can find it searching 'Adding a Crystal Report (report or layout)'.
    It works but going in the Report and layout manager i find it under 'Lost Reports'.
    i cannot find a way to specify the MENU LOCATION just like the Import Wizard allows.
    Can anyone help me?
    Thanks
    Paolo

    hi how you solve this??

  • Crystal Reports XI R2 SP 6 - Issue with setting Data Source Location

    Hello,
      After some initial difficulty instally CR XI R2 with SP 6 on a windows XP machine (see thread Error on installation of CR XI R2 SP6), the Crystal Reports environment seemed fine, however, when I tried resetting the datasource location on an ODBC datasource between a development and production server, I get the message 'Some Tables could not be replaced as no match was found....'   The tables in the two databases are identical so that isn't the issue.
    Here is some additional information
    The issue seems related only to DSN's that point to a progress database.  I am able to reset datasource locations for DSN's that use the SQL server driver and also for those that use the XML CR ODBC XML Driver 5.0.  I am not able to reset the datasource locations on the DSN's that use a Progress Open Edge 10.1 DB  driver.
    I can create a new report using the DSN for the Progress Driver and add tables, but the table names are coming up as an alias - i.e. if I add a table called PM_Plant, the table added to the report is PM_Plant1.
    I also found I can go into existing reports, rename the tables in the database expert to be an alias (appending 1 to the end of the table name), then I am able to repoint them using the datasource location screen. 
    So it looks like there is a potential work around to the situation, but I didn't run across any information that we should need to do that. 
    Any recommendations how to fix the issue?  
    Thanks,

    Hi Don,
    The reports were created with CR XI R1 on my PC  initially and the progress drivers have not changed since.   The reports were deployed to a server and I pulled them back to my PC to test out any changes after the CR XI R2 SP 6 upgrade.  (so there is really only one machine involved, the one that had the upgrade). 
    I did look at the settings for verifying and tried playing around with those and also with verifying the database but that didn't make any difference.
    I wasn't quite sure which registry keys to look at or what the values should be so wasn't able to pursue that option. 
    All the tables in the progress database use underscores as part of the table name (i.e. PM_Plant, PM_Company), do you think the upgrade to SP6 means that the underscore is now a reserved character and that is why the tables are getting aliased?  If so, do you know how to change the alias settings or the list of characters that are reserved?
    Just an FYI, I had to downgrade back to CR XI R1 at this point to get work done.   If time allows, I'll retry the upgrade in about 5-7 weeks.  I discussed the issue with a system admininstrator and we willl try removing the progress drivers and DSN's prior to trying an upgrade again to see if that makes a difference.  I'll also make sure to keep track of all Report Options and Options and also registry keys to see what changes.
    Thanks

  • Crystal Report 2008 - File Locations

    I'm running out of space on the OS partition (C drive) and want to change the default location(s) in Crystal Report so when reports are created and run,  they use space on the D drive.

    Hello,
    Not exactly clear what you want? Save your reports to your D drive would be my first guess.... If you are referring to the \temp folder then change your system Environment Variable from the default to d:\temp and also change the TMP to d:\Tmp.
    You could even set your Swap file to d drive also. I suggest you contact your IT department or search Microsoft's site on how to optimize hard drive space when it's limited. PLEASE back up everything first before making changes to your swap file location, if you don't do it right you may not be able to start windows.
    Thank you
    Don

  • Crystal Report 9 How change graphic location?

    Post Author: Maroxye
    CA Forum: Formula
    Hi!,
    We works with Crystal report 9. I know that in X1 version, you can change the graphic location but how can i make that in version 9? I put a picture in my report and i want to change the source of this picture according to a parameter.
    Thanks for your help!

    Hi
    once u have process scheduler setup, under server definition u will add crystal to run with min and max api ware. this will take any crystal running on that scheduler.
    on the psprcs.cfg file u will add the path where it should pick up for running the report. if u look into the install guide, everything is clearly mentioned.
    Thanks!

  • Crystal Reports 2008 - Error setting new datasource location

    Hi All,
    We are experiencing an issue while trying to set datasource location for our RM 3.0 reports in Crystal Reports 2008 designer. As per guide "SAP BusinessObjects Process Control 3.0 and Risk Management 3.0 - How to build and Personalize Custom Crystal Reports" (step 11), after opening the desire report we go to DataBase-->Set DataSource Location and when selecting our RM system (which actually has the BI content addon installed on it), we got the following error message:
    "Some tables could not be replaced, as no match was found in the new data source. Please verify the table required for any unmodified tables"
    I'm new on this so I'm not sure if the table indicated in the original datasource should exist in my DB (new datasource) before doing this? If so, how those tables are imported or created in our DB?
    Could you please help me on this issue?
    Please let me know if any other detail or data is required.
    Regards

    Hi Don,
    Thanks for the update.
    Actually I've installed SAP Integration Kit and its Fixpack in both....BOE Server (which is the same as the SAP server) and in client pc.  In all cases we have select a typical installation which supposes the required drivers are available. Also I've followed Ingo's documentation to activate and publish standard Risk Management reports (RM reports). Everything works ok with them. We are able to access reports through the application.
    The issue appears when trying to customize one of these standard reports through CR Designer. For example if we select the "GRRM_Risk_by_Risk_Category" and try to customize it as indicated in the "SAP BusinessObjects Process Control 3.0 and Risk Management 3.0 - How to build and Personalize Custom Crystal Reports"...the table behind this report (table GRFN_CY_API_GRRM_R1) it's not in our RM System. My main concern or question is regarding this....Did I miss something while importing transports files, activating or publishing RM reports, etc....and thatu2019s the reason why this (and any other) table is not already in my system? I was not able to find where those tables are supposed to be or how they should be imported in my system. The odd thing is...that we are trying to customize and set the new data source for these reports to the same system from where they are being opened. Put in this way...RM reports have been activated in system A (RM System) and published to system B (BOE System). While customizing reports through CR Designer...we are actually opening reports from system A. These reports have as their original data source...a demo SAP system info (uxcir1p.wdf.sap.corp) and when we want to update this data source with our RM system....the error appears. The whole process is explained in the above mentioned guide for your reference.
    Hope being clear enough..
    Thanks for your help

  • Crystal Report runtime error while changing Data Source Location

    Dear All
    We are using "Crystal reports for SAP Business one".The Crystal reports version is 12.1.
    We built a report in another database with another server.
    As we are importing the report in another database of another server,
    I am not able to change the Data Source location.
    When I am trying to change it,it gives Runtime error and closed automatically.
    How can i resolve and change the data source location?

    hi kambadasan,
    is your CR version the same from which you design the report and to the another server? also did you import your report directly to SBO without changing the data source first? in the case you should update first your Data Source in Crystal Report IDE before importing it to SBO.
    regards,
    Fidel

  • Please any one provide crystal report for  Location wise sales report with GP

    Please any one provide crystal report for  Location wise sales report with GP.Please its urgent

    A report writer tool like Crystal reports is not available due to the cost involved in its licenses.Do you think that Oracle Reports is free then? It's $$$$.
    You can download and test it for free, but if you want to use it in production you have to buy a license.

  • VS2010 Crystal Report Crashes System when using 'Set DataSource Location..'

    Runtime ASP.NET 3.5
    VS 2010
    Under Database Fields (rt click) try Set DataSource Location... causes VS2010 to crash.
    This is on an imported report from VS2008.  VS2008 has no problem with the report.
    Since this is a ASP.NET 3.5 program the internal property field
    <ResGenToolArchitecture>Managed32Bit</ResGenToolArchitecture>
    has been set in the project in order to allow the code to compile w/out errors.
    What is solution for Crystal Report Set DataSource Location?

    Hi Ken,
    Here's one link on the issue: CRVS2010 RTM: Database Expert / External Component has thrown an exception
    The reason is Old OS's used c:\temp as the default, now you are require to use %user%\temp as your temp folder as well as using the AppData folder for your app. If CR finds c:\temp it uses it and depending on what is in there it can cause Cr to crash, XML files have been know to do this.
    Following MS's new rules on users temp folder should make your app Windows Compliant.
    Thanks again
    Don

  • Crystal Reports 2008 crashes when previewing image with graphic location

    Hi,
    I'm using Crystal Reports 2008 for SAP Business One.  When I try to insert an image with a UNC graphic location (browse to a UNC drive for image) and I preview, Crystal Reports crashes with the following debug info:
    Problem signature:
      Problem Event Name:     APPCRASH
      Application Name:     crw32.exe
      Application Version:     12.1.0.892
      Application Timestamp:     48de4bbc
      Fault Module Name:     cslibu-3-0.dll
      Fault Module Version:     12.4.0.966
      Fault Module Timestamp:     4daed0a1
      Exception Code:     c0000094
      Exception Offset:     0002d7fd
      OS Version:     6.1.7601.2.1.0.272.7
      Locale ID:     1033
      Additional Information 1:     0a9e
      Additional Information 2:     0a9e372d3b4ad19135b953a78882e789
      Additional Information 3:     0a9e
      Additional Information 4:     0a9e372d3b4ad19135b953a78882e789
    Any idea why?  If I trun graphic location off, it works fine.
    The code I'm using to pull image is:
    sapserver\B1_SHR\Bitmaps\Versailles\" & {RSM_Inventory_Images;1.PicturName}
    Thanks.

    Through  Startu2014Run are you able to view the image by choosing the following path ?
    sapserver\B1_SHR\Bitmaps\Versailles\" & {RSM_Inventory_Images;1.PicturName}
    Also try to insert any image which is on your local hard drive and try.  I think this is because, CR is unable to access the images which are on UNC.
    Thanks,
    Sastry

  • Crystal Reports 10 Datasource Location and SQL Query update

    I am running Crystal Reports 10 accessing SQL Server 2008 database on Windows 7. Our product changed database names and I'm trying to update reports to point to the new database. Sounds nice and simple. The database has no structure changes yet, it's just a copy and rename of the old database. Both databases exist, same SQL instance, same permissions, etc. ...
    Existing working report:
       Has an ODBC (RDO) location to database DbVersion1
       If I run Show SQL Query, the database name is in the query text (i.e. FROM DbVersion1.dbo.MyTable)
    Attempted:
       In Set Database Location popup, I created a new ODBC (RDO) connection to database DbVersion2
       Updated Current Data Source for report to this new ODBC (RDO) connection.
       Ran Verify Database. Popup stated "The database is up to date."
    But when I run "Show SQL Query", is still shows DbVersion1 in the text, and the report displays data from DbVerison1. When I display the Datasource Location for the report, it shows DbVersion2 as I changed to above. How do I "refresh" the SQL Query to recognize the new Datasource Location?
    Thanks,
    Gary

    Hi Gary,
    A possible couple of issues, CR 10 doesn't support SQL Server 2008 and it doesn't support Windows 7. We had to update CR XI R2 SP 6 and above to make SQL 2008 work. MS changed the name of their client dll so CR is not aware of the new drivers.
    MDAC native driver may work but not sure....
    Try OLE DB, it may work better.
    Thanks
    Don

  • Change the field object location in crystal report

    hello,
    i want to change the contols location in crystal report and the controls alignment in run time to make mirror ,how can i access this controls and this properties. we use two language English and arabic that have different alignment.
    thanks and best regards,
    Mahmoud awad

    <p>The best place to start would be on the <a href="http://devlibrary.businessobjects.com/BusinessObjectsXIR2SP2/en/devsuite.htm" target="_blank">DevLibrary</a> you can find the reference guide for the APIs for the CR .NET SDK. Generally speaking, you can access the particular field object using the corresponding class and modify it&#39;s left/right/top/etc properties to change placement.  For example, if you want to modify properties for a text object on a report, use the TextObject class and the members exposed by that class.</p><p>Depending on what properties you want to modify, you&#39;ll need to look at other classes such as the FieldFormat class or ObjectFormat class to access other properties.  So I recommend using the reference guide to help you find what you are trying to do.</p><p>-MJ</p>

  • Error in switching from one database location  to another database location in Crystal Reports using JSP

    Hi,
    Please help me in resolving the issue while changing the database dynamically in crystal reports using JSP. I followed the below link to change DB connection dynamically.
    CRJava Modify DB Location
    Please help me on this.
    While switching from one database to another i found the issue.
    dbController.replaceConnection(oldConnectionInfo, newConnectionInfo,pFields,replaceParams);
    The Error is:
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: Subreport does not exist.---- Error code:-2147467259 Error code name:failed
        at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:2284)
        at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(SourceFile:732)
        at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:166)
        at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(SourceFile:528)
        at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(SourceFile:526)
        at com.crystaldecisions.reports.common.ThreadGuard.syncExecute(SourceFile:102)
        at com.businessobjects.reports.sdk.JRCCommunicationAdapter.for(SourceFile:524)
        at com.businessobjects.reports.sdk.JRCCommunicationAdapter.int(SourceFile:423)
        at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:480)
        at com.businessobjects.reports.sdk.JRCCommunicationAdapter.int(SourceFile:421)
        at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(SourceFile:351)
        at com.businessobjects.sdk.erom.jrc.a.a(SourceFile:54)
        at com.businessobjects.sdk.erom.jrc.a.execute(SourceFile:67)
        at com.crystaldecisions.proxy.remoteagent.RemoteAgent$a.execute(SourceFile:716)
        at com.crystaldecisions.proxy.remoteagent.CommunicationChannel.a(SourceFile:125)
        at com.crystaldecisions.proxy.remoteagent.RemoteAgent.a(SourceFile:537)
        at com.crystaldecisions.proxy.remoteagent.RemoteAgent.char(SourceFile:220)
        at com.crystaldecisions.proxy.remoteagent.RemoteAgent.new(SourceFile:240)
        at com.crystaldecisions.proxy.remoteagent.RemoteAgent.do(SourceFile:452)
        at com.crystaldecisions.proxy.remoteagent.RemoteAgent.if(SourceFile:429)
        at com.crystaldecisions.proxy.remoteagent.UndoUnitBase.performDo(SourceFile:156)
        at com.crystaldecisions.proxy.remoteagent.UndoUnitBase.a(SourceFile:106)
        at com.crystaldecisions.sdk.occa.report.application.an.a(SourceFile:65)
        at com.crystaldecisions.sdk.occa.report.application.ParameterFieldController.a(SourceFile:1921)
        at com.crystaldecisions.sdk.occa.report.application.ParameterFieldController.setCurrentValues(SourceFile:2237)
        at com.crystaldecisions.sdk.occa.report.application.ParameterFieldController.setCurrentValue(SourceFile:2328)
        at org.apache.jsp.DynamicDB_jsp._jspService(DynamicDB_jsp.java:255)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
    Caused by: com.crystaldecisions.reports.reportdefinition.ReportModificationException: Subreport does not exist.
        at com.businessobjects.reports.sdk.requesthandler.ParameterRequestHandler.a(SourceFile:229)
        at com.businessobjects.reports.sdk.requesthandler.ParameterRequestHandler.for(SourceFile:214)
        at com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(SourceFile:1492)
        at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(SourceFile:660)
        ... 47 more
    Any help Appreciated.
    Thanks
    Penchal

    Do you have subreports in your reports?
    If yes, set the connection info for the subreports as well.
    Additionaly refer to the below discussion
    http://scn.sap.com/thread/3153289
    As you are using Crystal reports for ecllipse runtime libraries to build your jsp, you would need to post your dicussions in the below forum to get better response.
    http://scn.sap.com/community/crystal-reports-for-eclipse
    The above space is dedicated for the issues with crystal reports for ecllipse.
    Thanks,
    Prithvi

  • Database Location using Crystal Report XI

    Crystal Report XI Developers Edition; VB 6 Enterprise Edition
    Prior to using Crystal Reports, I will create (if not already there) a database in my Visual Basic project file.
    Via Crystal Report XI, when I designed reports, I used Database Location as my project file where I stored a copy of the .mdb file.
    Prior to creating an "installaltion setup" package, I will create a Directory in Program Files. Let's use and example--I'll call the Directory in Program Files "Sports" so what I do is to copy the ".mdb" file to this directory and change the database location in the rpt files to "C:\Program Files\Sports".
    I have a question, in most install packages, the installer has the option to change the location of the setup files. Let's say installing my application, the user changes the directory. Therefore, the setup files (including the database) are not in "C:\Program Files\Sports" they are in "C:\Program Files\SomeOtherDirectory".
    QUESTION: How does Crystal Report know about this change? Remember in the design I setup the database location as ""C:\Program Files\Sports". Is there a way to tell CR where the database file is located (i.e. application path)?
    Thanks,
    Sam

    The Crystal Reports dlls must be in the correct Bin directory (depends on the version of CR used). You can not change this. If you are using a database such as Access mdb, you can set the report to look in it's own directory for the mdb database. If that is what will work for you, ensure that the report and the database file are in the same folder. let me know if you need more info on this.
    Ludek

  • Crystal Reports 2008 - Changing Table Locations

    Hello,
    we have several reports which we use by different customers. The customers use different name spaces (table locations) for the same data. To use the same reports with different table locations, we wrote a piece of software replacing the connection strings and table locations. 
    Example:
    A report should be used in a test environment as well as in a production environment:
      The original SQL is (using a DB2 database on a AS400):
        SELECT alias.name FROM as400.production.users alias
      The modified SQL looks like:
        SELECT alias.name FROM as400.test.users alias
    Up to now we used Crystal XI and developed using RDC. We solved the above described problem by reading the report SQL string, replacing the table location in this string and assigned it back to the report object. Modifying the SQL string has the advantage that it works fine also for reports which contain a SQL command.
    Since Crystal Reports 2008 this is not possible anymore (no RDC, no direct way to modify the report SQL string).
    My first approach was to use the CrystalDecisions.CrystalReports.Engine.Table object. First I just wanted to see what really was the content of the Location and Name property:
    for (int i = 0; i < rdReport.Database.Tables.Count; ++i)
      Table rt = rdReport.Database.Tables<i>;
      Console.WriteLine("Table Nr : {0}", i);                   
      Console.WriteLine("  Table Loc  : {0}", rt.Location);
      Console.WriteLine("  Table Name : {0}", rt.Name);
    My problem with this is that the output for the report with the SQL in the above example is:
    Table Nr: 0
      Table Loc : users
      Table Name: alias
    So obviously not the real table location and table name is returned, but instead the table name for the table location and the alias for the table name. Unsurprisingly setting the location had not the originally desired effect.
    Furthermore if the report was designed using a SQL command, the location and in the name property contain the string COMMAND. Therefore the table object doesn't seems to be the solution to my problem.
    Thanks to the help of a user in this forum here, I figured out how to read the SQL string of a report. Unfortunately I did not found a way to assign it back to the report.
    Has anybody here an idea how to solve my problem? I'm open for every kind of hint.
    Thanks in advance,
    Ron

    My solution looks like this:
    ReportDocument rdReport = new ReportDocument();                   
    rdReport.Load(sReportName, OpenReportMethod.OpenReportByTempCopy);
    CrystalDecisions.ReportAppServer.ClientDoc.ISCDReportClientDocument rcDocument = rdReport.ReportClientDocument;                   
    for (int i = 0; i < rdReport.Database.Tables.Count; ++i)
        CrystalDecisions.ReportAppServer.DataDefModel.ISCRTable rctTable = rcDocument.DataDefController.Database.Tables<i>;
        if (rctTable.ClassName == "CrystalReports.CommandTable")
            Console.WriteLine("Processing CommandTable {0}",rctTable.Name);
            Console.WriteLine("  Old Qualified Name: {0}", rctTable.QualifiedName);
            Console.WriteLine("  Old Alias:          {0}\n" , rctTable.Alias);
            CrystalDecisions.ReportAppServer.DataDefModel.CommandTable tbOldCmd = (CrystalDecisions.ReportAppServer.DataDefModel.CommandTable) rctTable;
            CrystalDecisions.ReportAppServer.DataDefModel.CommandTable tbNewCmd = new CrystalDecisions.ReportAppServer.DataDefModel.CommandTable();
            tbNewCmd.Name = tbOldCmd.Name;
            tbNewCmd.Alias = tbOldCmd.Alias;
            tbNewCmd.CommandText = sNewSql;
            tbNewCmd.ConnectionInfo = tbOldCmd.ConnectionInfo.Clone(true);
            CrystalDecisions.ReportAppServer.DataDefModel.PropertyBag pbAttr = tbNewCmd.ConnectionInfo.Attributes;
            // set dlls
            pbAttr["Database DLL"] = "crdb_ado.dll";
            pbAttr["QE_DatabaseName"] = "NL67S021OUD";
            pbAttr["QE_DatabaseType"] = "OLE DB (ADO)";
            pbAttr["QE_ServerDescription"] = "192.0.5.24";
            pbAttr["QE_SQLDB"] = "True";
            pbAttr["SSO Enabled"] = "False";
            // set connection string                  
            CrystalDecisions.ReportAppServer.DataDefModel.PropertyBag pbLogOnProp = (CrystalDecisions.ReportAppServer.DataDefModel.PropertyBag)pbAttr[sAttrLogOnProp];
            pbLogOnProp.RemoveAll();
            // strangely comma seperated values instead of semicolon seperated values are needed here
            pbLogOnProp.FromString("Provider=IBMDA400,Data Source=" + sServerName + ",Initial Catalog=" + sDBName + ",User ID=" + sUserId + ",Password=" + sPwd + ",Convert Date Time To Char=TRUE,Catalog Library List=,Cursor Sensitivity=3");
            tbNewCmd.ConnectionInfo.UserName = sUserId;
            tbNewCmd.ConnectionInfo.Password = sPwd;
            rcDocument.DatabaseController.SetTableLocation(tbOldCmd, tbNewCmd);                           
        else
            Console.WriteLine("Processing Table {0}",rctTable.Name);                           
            Console.WriteLine("  Old Qualified Name: {0}", rctTable.QualifiedName);
            Console.WriteLine("  Old Alias:          {0}\n", rctTable.Alias);
            CrystalDecisions.ReportAppServer.DataDefModel.ISCRTable rctNew = new CrystalDecisions.ReportAppServer.DataDefModel.Table();
            rctNew.Name = rctTable.Name;
            rctNew.Alias = rctTable.Alias;
            rctNew.QualifiedName = sDBName + ".V41TSTDBF.CRGUOPF";
            rctNew.ConnectionInfo = rctTable.ConnectionInfo.Clone(true);
            CrystalDecisions.ReportAppServer.DataDefModel.PropertyBag pbAttr = rctNew.ConnectionInfo.Attributes;
            // set dlls
            pbAttr["Database DLL"] = "crdb_ado.dll";
            pbAttr["QE_DatabaseName"] = "NL67S021OUD";
            pbAttr["QE_DatabaseType"] = "OLE DB (ADO)";
            pbAttr["QE_ServerDescription"] = "192.0.5.24";
            pbAttr["QE_SQLDB"] = "True";
            pbAttr["SSO Enabled"] = "False";
            // set connection string                  
            CrystalDecisions.ReportAppServer.DataDefModel.PropertyBag pbLogOnProp = (CrystalDecisions.ReportAppServer.DataDefModel.PropertyBag) pbAttr[sAttrLogOnProp];
            pbLogOnProp.RemoveAll();
            // strangely comma seperated values instead of semicolon seperated values are needed here
            pbLogOnProp.FromString("Provider=IBMDA400,Data Source=" + sServerName + ",Initial Catalog=" + sDBName + ",User ID=" + sUserId + ",Password=" + sPwd + ",Convert Date Time To Char=TRUE,Catalog Library List=,Cursor Sensitivity=3");
            rctNew.ConnectionInfo.UserName = sUserId;
            rctNew.ConnectionInfo.Password = sPwd;                         
            rcDocument.DatabaseController.SetTableLocation(rctTable, rctNew);
            Console.WriteLine("  New Qualified Name: {0}", rctTable.QualifiedName);
            Console.WriteLine("  New Alias:          {0}\n", rctTable.Alias);
    Console.WriteLine("\nSetting parameter {0} to value {1}", rdReport.ParameterFields[0].Name, iDataId);
    rdReport.SetParameterValue(0, iDataId);
    Console.WriteLine("\nShow SQL: ");
    CrystalDecisions.ReportAppServer.Controllers.RowsetController rsController;
    CrystalDecisions.ReportAppServer.ClientDoc.ISCDReportClientDocument rdClient = rdReport.ReportClientDocument;
    CrystalDecisions.ReportAppServer.DataDefModel.ISCRGroupPath rdGroupPath = new CrystalDecisions.ReportAppServer.DataDefModel.GroupPath();
    string temp;
    string sql;
    rsController = rdClient.RowsetController;
    sql = rsController.GetSQLStatement(rdGroupPath, out temp);
    Console.WriteLine(sql);
    Console.WriteLine("Printing");
    PageMargins pmMargins = rdReport.PrintOptions.PageMargins;
    pmMargins.bottomMargin = 350;
    pmMargins.leftMargin = 350;
    pmMargins.rightMargin = 350;
    pmMargins.topMargin = 350;
    rdReport.PrintOptions.ApplyPageMargins(pmMargins);
    rdReport.PrintOptions.PrinterName = sPrinterName;
    rdReport.PrintToPrinter(1,     // copies
                            false, // collated
                            0,     // start page
                            0);   // end page
    rdReport.Close();
    Regards,
    Ron

Maybe you are looking for