Report incompatibility beacause of database name change

Hi !
I am using Crystal Reports 2008 with a MSQL 2005 database.
I want to use the same report on two databases with same structure but different names. I keep getting error message: "Failed to retrieve data from database" ,"invalid object name... [Database vendor code:208]".
Set Datasource Location command does not help...
Need some help !
Calin

Morning,
If I get this right you are trying to use the same structured report for another database of different name but similar tables?
If yes, then I think you need to change the database as a source on your new (second) report.
Mind you, that will take all the fields out which are linked but you can certainly put them back into the place once you established the right link.
I don't think there is a way of refreshing the same report to use different database, however, there could be another way to this.
Add the new database into the report, replace all the fields of the old database with the new one, and then get rid of the old database completely.
This way you would remember where each field was placed in the report.
Hope this helps.
DO let us know how you get along with it.
Kind Regards
Jehanzeb

Similar Messages

  • Link between reports and universes and universe name change

    I want to change a universe name.
    What is the impact on my WebI reports and DeskI reports ?
    Is it risky ? Will the link between reports and universes be saved ?
    Does someone know how the link between reports and universes works for WebI reports and DeskI reports ?
    Thanks

    Hello Umberto,
    I recommend to post this query to the [WEBI|SAP BusinessObjects Web Intelligence; and [DESKI|SAP BusinessObjects Desktop Intelligence; forums.
    These forums are monitored by qualified technicians and you will get a faster response there.
    Also, all Webi and Deski queries remain in one place and thus can be easily searched in one place.
    Best regards,
    Falk

  • Database name change

    Hi I am using oracle 10g 10.2.0.3.0 . in IBM AIX OS
    I want to change my database and instance name.
    Please help me
    Regards
    Jewel

    You need to use DBNEWID (executable nid under Unix): http://download.oracle.com/docs/cd/B19306_01/server.102/b14215/dbnewid.htm#SUTIL014.

  • HR ABAP: HR Report Category: "Customer Specific Status" Name Change!

    Experts,
    I've successfully created a Custom HR Report Category and assigned it to my program. Report works fine, with all customized fields that i selected!
    There is one field called "Customer Specific Status", which needs to be changed to our requirement. For instance, the existing field's text "Customer Specific Status" needs to be changed as "NS Status" ?
    Helpful answers will be definitely awarded!
    Thanks a lot!
    Rgds,
    Sundar.

    Hello All,
    I got the answer already!
    Thanks!
    Regards,
    Sundar.

  • How can I get a report to use a DSN instead of a database name?

    DSNs are great things.  By using a DSN in a database connection string, you don't have to worry about what happens if you have to look at a different database, or if a database name changes.  All you have to do is change the database the DSN points to, and everything that was built using that DSN still works.
    Everything, that is, except Crystal Reports.
    I am using CR XI.  Our customer's database is named "Anneal", and it uses PostgreSQL.  I have several copies of that database, taken at different times and for different purposes, on my machine:  "Anneal", "AnnealTest", "Anneal_2_8_10", and on and on.  I also have a DSN named "WinCaps".  The reorts I have developed for this customer were set up to use an ODBC connection based on the WinCaps DSN.  But if WinCaps pointed to the "AnnealTest" database when it the report was created, and then I delete the AnnealTest database and change the WinCaps DSN to point to a database named "Anneal", and then try to open the report, I get a complaint that the AnnealTest database does not exist!  Yes, I know it doesn't exist.  I am expecting CR to use the DSN I told it to use, which should get me to the Anneal database.
    The fact that CR complains about the AnnealTest database tells me that internally, CR is retrieving the actual name of the database and storing that instead of storing the DSN name, completely defeating the purpose of the DSN.
    Is there any way I can set up my report to use whatever database the DSN happens to be pointing to, instead of the database the DSN pointed to at design time?
    Thanks very much!
    Rob Richardson

    Hi Rob,
    Crystal assumes you are setting location to the database and it stays that way when run. Yes we do keep the connection info in the RPT file.
    There's a few options that may help. First, can you upgrade to CR XI R2? It' still supported...
    Go to this link: http://www.sdn.sap.com/irj/boc and download the trial version of CR XI R2 and use your XI keycode, then apply the patches which you can get to by clicking on the BusinessObjects tab above, then Downloads.
    Direct link to the Trial version: http://www.sap.com/solutions/sapbusinessobjects/sme/freetrials/index.epx
    Second, in the report itself check on the Verify on first refresh, save the report and then test it on another PC connecting another database.
    Next option to to try these registry key changes, usual warnign about altering the registry:
    HKEY_CURRENT_USERSoftwareBusiness ObjectsSuite 11.0Crystal ReportsDatabaseOptions - VerifyWhenDBDriverUpgraded = Yes
    And try changing this one also - DontAutoConvertODBC = Yes
    Close the Designer first or your changes won't stay.
    THey may have to simply verify the data manually and then save the report so the updated location info is saved in the Report.
    Crystal is very database dependant obviously so asumming changes made to the DSN are automatically updated can cause a lot of issues for the end user also but it depends on your point of view. We consider this working as expected.
    Thank you
    Don

  • Changing the Database Name

    Hi Gurus
    I am using oracle 10g on Windows platform. The issue is I need to change my database name. When i gone through the Oracle docs I found there is an utility called 'DBNEWID' . But not getting a clear cut idea. Since my DB is So critical anybody please tell me the exact steps to change the DB-Name.
    Thanks & Cheers
    Antony

    Changing Only the Database Name
    C:\>SQLPLUS/NOLOG
    SQL*Plus: Release 10.1.0.2.0 - Production on Tue Aug 22 10:54:38 2006
    Copyright (c) 1982, 2004, Oracle. All rights reserved.
    SQL> CONN / AS SYSDBA
    Connected.
    SQL> SELECT DBID,NAME FROM V$DATABASE;
    DBID NAME
    1230404613 DB01
    SQL> SHUTDOWN IMMEDIATE;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    Must be : Take Whole Database Backup (Oracle Recommended)
    Otherwise u lost ur database.
    SQL> STARTUP MOUNT;
    ORACLE instance started.
    Total System Global Area 171966464 bytes
    Fixed Size 787988 bytes
    Variable Size 145488364 bytes
    Database Buffers 25165824 bytes
    Redo Buffers 524288 bytes
    Database mounted.
    --Go Command Prompt
    DBNEWID UTILITY >>>NID ( OS Path : d:\oracle\product\10.1.0\db_1\bin\nid)
    C:\>SET ORACLE_SID=DB01
    C:\>NID TARGET=SYS/ORACLE@DB01 DBNAME=ORADB01 SETNAME=YES
    DBNEWID: Release 10.1.0.2.0 - Production
    Copyright (c) 2001, 2004, Oracle. All rights reserved.
    Connected to database DB01 (DBID=1230404613)
    Connected to server version 10.1.0
    Control Files in database:
    D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB01\CONTROL01.CTL
    D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB01\CONTROL02.CTL
    D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB01\CONTROL03.CTL
    Change database name of database DB01 to ORADB01? (Y/[N]) => Y
    Proceeding with operation
    Changing database name from DB01 to ORADB01
    Control File D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB01\CONTROL01.CTL - modified
    Control File D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB01\CONTROL02.CTL - modified
    Control File D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB01\CONTROL03.CTL - modified
    Datafile D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB01\SYSTEM01.DBF - wrote new name
    Datafile D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB01\UNDOTBS01.DBF - wrote new nam
    e
    Datafile D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB01\SYSAUX01.DBF - wrote new name
    Datafile D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB01\USERS01.DBF - wrote new name
    Datafile D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB01\TEMP01.DBF - wrote new name
    Control File D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB01\CONTROL01.CTL - wrote new
    name
    Control File D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB01\CONTROL02.CTL - wrote new
    name
    Control File D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB01\CONTROL03.CTL - wrote new
    name
    Instance shut down
    Database name changed to ORADB01.
    Modify parameter file and generate a new password file before restarting.
    Succesfully changed database name.
    DBNEWID - Completed succesfully.
    Set the DB_NAME initialization parameter in the initialization parameter file (PFILE) to the new database name.
    Note:
    The DBNEWID utility does not change the server parameter file (SPFILE). Therefore, if you use SPFILE to start your Oracle database, you must re-create the initialization parameter file from the server parameter file, remove the server parameter file, change the DB_NAME in the initialization parameter file, and then re-create the server parameter file.
    ---Create New Password File
    cmd>orapwd file=d:\oracle\product\10.1.0\db_1\database\pwddb01.ora password=oracle entries=5
    SQL> STARTUP PFILE=D:\Oracle\product\10.1.0\Db_1\database\initdb01.ora
    ORACLE instance started.
    Total System Global Area 171966464 bytes
    Fixed Size 787988 bytes
    Variable Size 145488364 bytes
    Database Buffers 25165824 bytes
    Redo Buffers 524288 bytes
    Database mounted.
    Database opened.
    SQL> select dbid,name from v$database;
    DBID NAME
    1230404613 ORADB01
    Note:
    After Change DB Name Take Whole Database bkp.
    Note: If i am missing some step or write wrong step plz. correct me.
    Before doing this refer documentation.
    http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14215/dbnewid.htm
    thanx
    Message was edited by:
    user526020
    null

  • Changing Database name

    hi every body,
    Pl. Tell me ,how to change the database name so that when i query to the V$DATABASE view it should reflect the new database name .Changing the GLOBAL_NAME does not reflect changes in V$DATABASE view.
    thanx in advance..

    Hi,
    1. make a ascii dump of your controlfile : alter database backup controlfile to trace ;
    2. shutdown your database
    3. export ORACLE_SID=NEW_DB
    4. edit your init.ora and change db_name and instance_name parameter (rename your initOLD_DB.ora to initNEW_DB.ora)
    5. edit the file generated by (1) and change
    CREATE CONTROLFILE...
    to
    CREATE CONTROLFILE SET DATABASE "NEW_DB" RESETLOGS...
    6. Re-create the controlfiles and all will be ok :-)
    Fred

  • ORA-01103: database name 'TESTING2' in control file is not'TESTING1..

    Hello all, please help me on this..im using 10.2.0.4.0 , DB created by ex-colleque
    while connecting db getting ora 1103 error, and tried to create controlfile using trace but i couldn't
    here is the details:
    TESTING1 >startup mount;
    ORACLE instance started.
    Total System Global Area 734003200 bytes
    Fixed Size 2141536 bytes
    Variable Size 328159904 bytes
    Database Buffers 369098752 bytes
    Redo Buffers 34603008 bytes
    ORA-01103: database name 'TESTING2' in control file is not 'TESTING1'
    want to backup ctl file and change the dbname, getting below error..
    TESTING1 >alter database backup controlfile to trace;
    alter database backup controlfile to trace
    ERROR at line 1:
    ORA-01507: database not mounted
    TESTING1:/app/oracle/TESTING1/product/10.2.0.4/dbs >grep db_name initTESTING1.ora
    *.db_name='TESTING1'
    I have found TESTING2 entries in alert log file..
    TESTING1:/app/oracle/TESTING1/admin/bdump >grep TESTING2 alert_TESTING1.log
    DBNAME will be changed from TESTING1 to new DBNAME of TESTING2
    Database name changed to TESTING2.
    Database ID for database TESTING2 changed to 1933958893.
    i have tried to create new controlfile and tried to startup..got below error hence i hv mentioned same datafiles path..
    ORA-01161: database name TESTING2 in file header does not match given name of TESTING1

    Here is the first law of holes.
    When you find yourself in a hole, the first thing you should do is STOP digging.
    Have you taken a full, cold backup since this event started?
    DBNAME will be changed from TESTING1 to new DBNAME of TESTING2When & why did this occur?
    Do you have a valid & recent backup?
    i have tried to create new controlfile Why did you do this?
    Edited by: sb92075 on May 7, 2010 8:36 PM

  • How to develop a report in Crystal with flexible database name?

    Hello
    I am a Project Manager of a project of developing reports in Crystal 11.
    The idea is to develop reports on top of the content in MS SQL tables.
    The initial testing and demonstration to the customer is done within the Crystal development environment.
    In a later stage, we need to integrate the reports with C# WPF application, using Crystal control.
    We currently use ODBC connections.
    We want the flexibility to set the actual database dynamically, by using the "default database" of the ODBC connection (or any other way). In other words, we want not just the flexibility to change the database server, but work with different database names, like "ProductDB_TEST", "ProductDB_PROD" etc. - without changing the report.
    Unfortunately, we got the answer from the developer that the database name should be pre-defined for a given report. Although the connection can be set to another server, the DB name cannot be set dynamically.
    Looking into the "Database" -> "Show SQL Query" menu, we see the following piece inside the query:
    INNER JOIN "DATABASE_NAME"."dbo"."IncidentTypeSnapshotData"
    So it looks like the query itself contains the DB name.
    Is it really a limitation of Crystal, or rather the developer working on the project doesn't know the trick?
    Thanks for any hint
    Max

    CR CR 2011 / "Crystal reports For Visual Studio 2010", you are correct.
    Re. the database thinggy. You can connect to a database via ODBC, OLE DB or in some instances natively. Once a report is created you an change the datasource. A good sample app on how to do this is  csharp_win_dbengine / vb_win_dbengine. A link to the samples is here:
    Crystal Reports for .NET SDK Samples - Business Intelligence (BusinessObjects) - SCN Wiki
    More info on connecting to dbs and changing them is in the developer help files:
    SAP Crystal Reports .NET SDK Developer Guide
    SAP Crystal Reports .NET API Guide
    More info on CR APIs for .NET (applies to all versions of CR and VS):
    Crystal Reports for Visual Studio 2005 Walkthro... | SCN
    You can also use ADO .NET Datasets and in this way you handle the database connections in your app. A good sample is csharp_win_adodotnet (also available in VB) - same link as above.
    More info on datasets:
    Crystal Reports Guide To ADO.NET
    Crystal Reports for Visual Studio .NET - Walkthrough - Reporting Off ADO.NET Datasets
    For more complicated operations (e.g.; changing a report from ODBC to OLE DB, changing one table, etc., you will want to use the InProc RAS SDK that is also available in CRVS. Developer help files are here:
    Report Application Server .NET SDK Developer Guide
    Report Application Server .NET API Guide
    Sample apps are here:
    NET RAS SDK Samples - Business Intelligence (BusinessObjects) - SCN Wiki
    and here:
    Crystal Reports .NET In Process RAS (Unmanaged) SDK Sample Applications
    More info on RAS SDK:
    How to Use The RAS SDK .NET With In-Process RAS Server
    Lastly, do use the search box in the top right corner. I find simple search strings such as 'crystal net parameter' return best results (KBAs, Blogs, docs, wikis, discussions and more).
    - Ludek

  • How to have report which use the odbc name of the database

    First, sorry for my English... i have a BIG problem with Crystal 2008. I have a lot of report created with crystal report 8. In crystal report 8, when i create a report, i select the odbc and then add all the tables i need. then i go under "database", "setting position". here i find all the tables and if i select them, in the field "table" the name is "databasename.dbo.tablename". so i delete "databasename.dbo." and leave only "tablename". so in my app i can use the name i want for the database, i only need to create the odbc with the correct database name and it works.
    now with crystal 2008 i can't do this!!!! if i change the name of the database and modify the odbc, when i print the report i have an error like "provider error" or similar. i try to use the expert database, the "change position  data source" but no results. this appends only if  i add a new table to an old report or if i create a new report.
    what shall i do?? now i'm still using crystal 8 (i only need to use the runtime and the preview object in .net, but i don't need all the feature of the new crystal report), but i'd like to use the new one because it's a lot better for create reports....
    thanks

    Hello,
    That's the general work around, basically fully qualifying the database.user info.
    Have a look at these links, lots of great samples on how to use all of them:
    Root Page
    http://wiki.sdn.sap.com/wiki/display/BOBJ/BusinessObjectsHome
    Enterprise Samples (including managed and unmanaged ras)
    http://wiki.sdn.sap.com/wiki/display/BOBJ/BusinessObjectsSDKSampleApplications
    Non-Enterprise Samples
    http://wiki.sdn.sap.com/wiki/display/BOBJ/CrystalReportsSDKSampleApplications
    Exporting Samples (RAS)
    http://wiki.sdn.sap.com/wiki/display/BOBJ/NETRASSDK+Samples#NETRASSDKSamples-Exporting%2FPrinting
    Thank you
    Don

  • Change database name - Crystal10 and Visual Studio 2005

    <p>Hi there,</p>
    <p>
    I have about 150 crystal reports in my development environment. I need to move them into the testing environment. Every environment has its own database and every database is names '[client name]_[environment]' so I get things like client1_dev, client1_test, client1_prod, etc. The reports are very, very unhappy when moving from dev to test. I have googled this a fair bit and have attempted the stuff on:
    </p>
    http://www.codeproject.com/KB/aspnet/crystalwithaspdotnet.aspx
    <br/>
    http://www.tek-tips.com/faqs.cfm?fid=5374
    <br/>
    <p>
    and a few others and have gotten no where. I spent a couple of days working on this and am now over budget and late. I need a fix and fast.
    </p>
    <p>
    I have two ideas I have been working on and both have failed out right.<br/>
    Idea 1 - during run time:<br/>
      - loop through everything thing in sight and set the database information on it<br/>
      - that one looks like:<br/>
    <br/>
    <pre>
    using CrystalDecisions.Shared;
    using CDCRE = CrystalDecisions.CrystalReports.Engine;
    using CrystalDecisions.CrystalReports.Engine;
    using CrystalDecisions.Web;
    public abstract class ReportBase : Page
         ...snip....
        protected virtual void DoLoad(CrystalReportViewer ReportViewer)
            ReportDocument reportDocument = new ReportDocument();
            SetReportInfo(reportDocument);
            SetParameters(reportDocument);
            DumpParameters(reportDocument);
        protected virtual void SetReportInfo(ReportDocument reportDocument)<br/>
            db_Reports.Reports reportInfo = new ReportsClass();
            CriteriaID = reportInfo.InsertCriteria(CommonUtils.GetLanguagePrefix(), CurrentForm["criteria"].Trim() +
    CurrentForm["extracriteria"].Trim(), CSecuritySession.UserSessionInfo.iUserId, string.Empty, CurrentForm["param1"]);
            ADODB._Recordset rs = reportInfo.GetReportInfo(CommonUtils.GetLanguagePrefix(), ModuleName, ReportID, CSecuritySession.UserSessionInfo.iUserId);
            // report to load
            HttpContext.Current.Trace.Warn("Loading the report", rs.Fields["vReportName"].Value as string);
            reportDocument.Load(rs.Fields["vReportName"].Value as string);
            // connection info
            reportDocument.DataSourceConnections[0].SetConnection(rs.Fields["vSQLServer"].Value as string, rs.Fields["vDatabase"].Value as string, false);
            HttpContext.Current.Trace.Warn("Setting connection information",
                string.Format("Server Name:[{0}] Database Name:[{1}]", reportDocument.DataSourceConnections[0].ServerName, reportDocument.DataSourceConnections[0].DatabaseName));
            // logon info
            reportDocument.DataSourceConnections[0].SetLogon(rs.Fields["vUsername"].Value as string, rs.Fields["vPassword"].Value as string);
            HttpContext.Current.Trace.Warn("Setting Logon Information",
                string.Format("Username: [{0}] Password: [{1}]", reportDocument.DataSourceConnections[0].UserID, reportDocument.DataSourceConnections[0].Password));
            DumpConnInfo(reportDocument);
            DumpSubReportConnInfo(reportDocument);
            // reportname / page title
            ReportName = rs.Fields["vDescription"].Value as string;               
        private void DumpSubReportConnInfo(ReportDocument reportDocument)
            foreach (Section sec in reportDocument.ReportDefinition.Sections)
                foreach (ReportObject ro in sec.ReportObjects)
                    if (ro is SubreportObject)
                        SubreportObject sro = (ro as SubreportObject);
                        DumpConnInfo(sro.OpenSubreport(sro.SubreportName));
        protected virtual void DumpConnInfo(ReportDocument reportDocument)
            foreach(CDCRE.Table table in reportDocument.Database.Tables)
                Trace.Warn(string.Format("Connection info[{0}]", table.Name),
                    string.Format("database: {0} Server: {1} User ID: {2} Pwd: {3}",
                    table.LogOnInfo.ConnectionInfo.DatabaseName,
                    table.LogOnInfo.ConnectionInfo.ServerName,
                    table.LogOnInfo.ConnectionInfo.UserID,
                    table.LogOnInfo.ConnectionInfo.Password));
                foreach(NameValuePair2 nvp in table.LogOnInfo.ConnectionInfo.Attributes.Collection)
                    Trace.Warn("connection attributes", string.Format("{0} = {1}", nvp.Name, nvp.Value));
                    if (string.Compare(nvp.Name as string, "QE_LogonProperties", true) == 0)
                        DbConnectionAttributes dca = nvp.Value as DbConnectionAttributes;
                        Trace.Warn("connection attributes - QE_LogonProperties", "processing the 'QE_LogonProperties'. Is null [" + (null == dca).ToString() + "]" );                   
                        foreach (NameValuePair2 nvp1 in dca.Collection)
                            Trace.Warn("connection attributes - QE_LogonProperties", string.Format("{0} = {1}", nvp1.Name, nvp1.Value));
                Trace.Warn("----------------------");           
        protected virtual void DumpParameters(ReportDocument reportDocument)
            HttpContext.Current.Trace.Write("--------------------------");
            HttpContext.Current.Trace.Write(" Dumping Parameters ");
            HttpContext.Current.Trace.Write("--------------------------");
            for (int i = 0; i < reportDocument.ParameterFields.Count; i++)
                if (string.IsNullOrEmpty(reportDocument.ParameterFields<i>.ReportName))
                    HttpContext.Current.Trace.Write(string.Format("[{0}] {1}", i, reportDocument.ParameterFields<i>.Name), GetParamValue(reportDocument.ParameterFields<i>));
                else
                    HttpContext.Current.Trace.Warn(string.Format("SubReport Parameter [{0}] {1}", i, reportDocument.ParameterFields<i>.Name), GetParamValue(reportDocument.ParameterFields<i>));
            HttpContext.Current.Trace.Write("--------------------------");
    </pre>
    <br/>
      - this one always errors out with a can't find database type connection and spits out the old database message.<br/>
      - as you can see there is a stack of tracing in there. all of the trace messages make it look like it is hitting the right database. I have no clue why this isn't working.<br/>
    <br/>
    Idea 2 - fix up reports before moving to the other environments:<br/>
      - I figured I would write a little app that would crawl through the directories of reports and fix them up<br/>
      - I read a few examples of this online and none of them seem to work with Crystal 10. They work with some of our legacy Crystal 8 reports (I have been testing this all over the place) but not with 10.<br/>
      - the last function is the interesting one.<br/>
      - that one looks like:<br/><br/>
    <pre>
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
    using System.Reflection;
    using System.Diagnostics;
    namespace crystal_10_switch
        public class Changer
            protected CRAXDDRT.Application app;
            protected object missing = Missing.Value;
            protected string currentFolder = string.Empty;
            protected string OdbcName;
            protected string DBName;
            protected ICollection Folders;
            public Changer(string OdbcName, string DBName, ICollection Folders)
                this.OdbcName = OdbcName;
                this.DBName = DBName;
                this.Folders = Folders;
                app = new CRAXDDRT.Application();
                string junk = Console.ReadLine();
            public virtual void Switch()
                foreach (string dir in Folders)
                    SwitchDir(dir);
            protected virtual void SwitchDir(string dir)
                DirectoryInfo di = new DirectoryInfo(dir);
                FileInfo[] files = di.GetFiles("*.rpt", SearchOption.AllDirectories);
                currentFolder = di.FullName;
                foreach (FileInfo file in files)
                    Trace.WriteLine("Processing the report: " + file.FullName);
                    Trace.Indent();               
                    SwitchFile(file);
                    Trace.Unindent();
            protected virtual void SwitchFile(FileInfo file)
                CRAXDDRT.Report rpt = app.OpenReport(file.FullName, missing);
                SwitchTable(rpt);
                SwitchSubreports(rpt);
                SaveReport(rpt, file);
            protected virtual void SwitchSubreports(CRAXDDRT.Report rpt)
                Trace.Indent();
                foreach (CRAXDDRT.Section section in rpt.Sections)
                    foreach (CRAXDDRT.IReportObject robj in section.ReportObjects)
                        if (robj is CRAXDDRT.ISubreportObject)
                            CRAXDDRT.ISubreportObject sub = (robj as CRAXDDRT.ISubreportObject);
                            Trace.WriteLine("Processing sub report: " + sub.Name);                       
                            SwitchTable(sub.OpenSubreport());                       
                Trace.Unindent();
            protected virtual void SwitchTable(CRAXDDRT.Report rpt)
                Trace.Indent();
                foreach (CRAXDDRT.IDatabaseTable table in rpt.Database.Tables)
                    Trace.WriteLine(" Processing table: " + table.Name);
                    // this one line should do it
                    (table.ConnectionProperties["Database"] as CRAXDDRT.IConnectionProperty).Value = DBName;
                    // but it didn't so try this
                    (table.ConnectionProperties["UseDSNProperties"] as CRAXDDRT.IConnectionProperty).Value = "1";
                    // read that this 'might' work
                    table.SetLogOnInfo(OdbcName, DBName, missing, missing);
                    // but it didn't so I tried this with the user anme and password set
                    table.SetLogOnInfo(OdbcName, DBName, "XXXXX", "XXXXX");
                    // read that this is requiried, but it does nothing
                    table.Name = table.Name;
                    // this causes issues - the map fields thing pops up which is way not cool
                    //table.Location = table.Name;              
                Trace.Unindent();
        }//class
    }//namespace
    </pre>
    <br/>
    At this point I really don't care which one will work the best, I am just desperate for a working solution. Any help, any at all would be greatly appreciated.<br/>
    <br/>
    Thanks<br/>
    <br/>
    -Cam<br/><br/>

    This is a typical requirement of most application and is relatively trivial to implement. There are a lot of samples and documentation on our support site (links below). Also, search these forums for code snippets that will help you. BTW., do not use the craxDDrt.dll as you are not licensed to use it.
    To look for downloads:
    https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/bobj_download/main.htm
    Articles:
    https://www.sdn.sap.com/irj/sdn/businessobjects-articles
    Notes:
    https://www.sdn.sap.com/irj/scn/advancedsearch?cat=sdn_ossnotes&query=&adv=true
    Samples:
    https://wiki.sdn.sap.com/wiki/display/BOBJ/CrystalReportsfor.NETSDK+Samples
    Dev. Library and API reference:
    http://help.sap.com/businessobject/product_guides/boexir31/en/crsdk_net_dg_12_en.chm
    http://help.sap.com/businessobject/product_guides/boexir31/en/crsdk_net_apiRef_12_en.chm
    My recommendations:
    https://www.sdn.sap.com/irj/boc/index?rid=/library/uuid/2081b4d9-6864-2b10-f49d-918baefc7a23&overridelayout=true
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/208edbbf-671e-2b10-d7b5-9b57a832e427
    https://www.sdn.sap.com/irj/boc/index?rid=/library/uuid/702ab443-6a64-2b10-3683-88eb1c3744bc&overridelayout=true
    Ludek
    Edited by: Ludek Uher on Jul 21, 2009 8:38 AM

  • Database structure changed. Mapping Crystal reports to new datasource

    There are several crystal reports that need to be remapped to a new database we have in place. The data structure has quite changed. I started using the 'Set datasource Location' option to map the new database fields to existing fields in the report. The problem shows up when trying to map fields from multiple tables to existing fields in the report from a single table. To elaborate, the old database structure has only one table used for a report and the new database structure has these same fileds coming from two different tables. The 'Set datasource Location'  option is leting me map the existing table used in the report to only one report. Is this how this functionality works or am I missing something. Please advise the best way to do this mapping.
    VJ

    hi VJ,
    when you're dealing with reports where the data source can change along with the number of tables or the table names or the field names etc. then this is a method that you can design with to avoid issues associated with datasource changes.
    you can also change existing reports to use this formula only method but of course there's a bit of work involved in changing reports vs. designing them like this from the ground up.
    -jamie

  • Database connection change in crystal reports 9

    Post Author: thanksforhelp
    CA Forum: Data Connectivity and SQL
    Hi,
    The report have to modified so I moved from prod to dev and changed the Database connection in set database location. they have the same table name and structure, but different database name, on the verify sql, I still see the prod database name and data is pulled from prod and not dev.
    Please help in fixing the issue.
    thanks in advance.

    Hi,
    Yes, I am using the MDX driver. 
    Is there any pre-requisites of importing certain ABAP transports into SAP Server since I haven't done any? Please  recommend.
    Thanks,
    Amogh

  • How Discoverer Reports cope with table name changes

    I want to change the name of an oracle table that is queried by a number of Discoverer reports owned by various users.
    I have been told that Discoverer might have the smarts to handle this without manual intervention of users having to open their reports and repoint them to the new tablename. Would someone be able to enlighten me?

    Thanks Guys for help.
    Additionally I'd like to add for the purpose of the name change is business driven and therefore it is important that business (report writers) see the new name so.....
    For each simple folder in the EUL there are there 3 attributes you need to be aware of:
    (1) Folder Name (the name as seen in Discoverer)
    (2) Identifier
    (3) Physical Database Object name
    (1) and (2) are used by a Disco workbook to resolve back to the physical object name.
    Therefore, you can change either (1) or (2) [but not both] and still have the workbook resolving back to the physical object name on the folder (ie (3)).
    In summation, I changed (1) and (3) while leaving (2) unchanged to resolve the whole glorious mess....

  • Can we enable Database Name box while scheduling report

    Hi, I am boxi administrator and I am working on a unique client requirement. I don't know if it needs to be in administration forum or crystal reports.   we are using crystal reports  and  We are on boxi R2 SP3 on IIS.
    We have 8 DB servers for load balancing ( look www.intersystems.com for details of how). We want to publish report in BOXI and user will then schedule report. We don't want multiple copies as it will be difficult to maintain at several places. So please rule out the possibility of  8 copies of same Crystal report connected to each 8 DB servers.
    When user schedules report then we want to load balance the DB servers i.e. we have defined 8 ODBC connections on each application servers and want to use all ODBC ( DB) for each report. When we schedule reports then I see server name and Database name is disabled in Database logon properties.
    Please let me know if this  is possible. We will be using standard infoview to schedule reports.
    Thanks,

    This is not feasible. I figured out one option that is using Virtual IP with Load balancer. We can load balance ODBC using this. This is tested in another project of state govt.
    Thanks,

Maybe you are looking for

  • Receipt Qty in AP invoice does not match with actual receipt qty.

    Hello everyone, I am facing an issue in oracle Payables module. When we match invoice with receipt while preparing invoices, Quantity received shown in the Receipt quantity block in invoice window does not match with actual receipt quantity of that i

  • OutlookSoft 4.2 - SAP Support Strategy

    Hello All, I want to know the SAP's support strategy for OutlookSoft/BPC. Specifically, when the support for 4.2 is ending? Our Client is on 4.2 SP3. What is the recommended support pack for OutlookSoft 4.2?  Also, are there any maintenance fees for

  • Internet plug in that Safari doesn't support

    Ouestion. Brand new Mac OSX 10.4 Not able to open Internet programmes, keep getting Safari doesn't support. Have tried ticking the Rossett box in Safari with no results. I had no trouble with G4 laptop with Panther. Would appreciate some help , thank

  • RE: DELETION OF CDP:CHARACTERISTICS IN APO - FROM COPY

    G'day Team, I am looking for some help in regards to CDP: Classes & Characteristics.  The IT partner copied from Prod APO instance to a Dev syst.  The BDLS was not performed and they further copied APO masterdata to Dev. Can someone advise the /SAPAP

  • How to import updated version of APEX app without losing saved IR's?

    Oracle XE 11.2 Apex 4.1 Linux Red Hat 5.4 ============ Does anyone have suggestions on how to import updated version of APEX app without losing saved IR's? Also, I want to maintain app id from update to update (from revision to revision). In fact, I