Problem changing the database in runtime

We use Crystalreports 10 and CrystalReports 11 using the TCRPE Delphi-VCL-Components (Delphi 2007)
I have the following problem:
We provide several database-servers: oracle, Mssql and Postgres. We connect to the database via odbc.
We prepared some standard-reports for our customers.
Saving them with CR10 or higher the database schema, database name and in some cases the username is stored in the reports.
To use the report on an other system it must be saved with the new connecteion. Is there any way to change the connection with the TCRPE-Components?
Best regards
Christian Fried

The following is probably the best thread to look at:
How can I change connection information using CrystalReport VCL for Delphi?
Ludek

Similar Messages

  • Facing problem while changing the database at runtime

    hi everyone,
    Before posting this thread, i have gone through the various posts addressing the problem....but still iam unable to get the solution for this problem.
    The report has been generated in one system, so the database properties (connection string....) are hardcoded in the report file...
    Now when iam trying to change the database, it is still connecting to the system where the report file was created.
    I have tried the changeDatasource() method, but it didnot worked....
    here is the code for changeDatasource() method
    public static void changeDataSource(ReportClientDocument clientDoc,
                    String reportName, String tableName,
                    String username, String password, String connectionURL,
                    String driverName,String jndiName) throws ReportSDKException {
            PropertyBag propertyBag = null;
            IConnectionInfo connectionInfo = null;
            ITable origTable = null;
            ITable newTable = null;
            // Declare variables to hold ConnectionInfo values.
            // Below is the list of values required to switch to use a JDBC/JNDI
            // connection
            String TRUSTED_CONNECTION = "false";
            String SERVER_TYPE = "JDBC (JNDI)";
            String USE_JDBC = "true";
            String DATABASE_DLL = "crdb_jdbc.dll";
            String JNDI_DATASOURCE_NAME = jndiName;
            String CONNECTION_URL = connectionURL;
            String DATABASE_CLASS_NAME = driverName;
            // The next few parameters are optional parameters which you may want to
            // uncomment
            // You may wish to adjust the arguments of the method to pass these
            // values in if necessary
            // String TABLE_NAME_QUALIFIER = "new_table_name";
            // String SERVER_NAME = "new_server_name";
            // String CONNECTION_STRING = "new_connection_string";
            // String DATABASE_NAME = "new_database_name";
            // String URI = "new_URI";
            // Declare variables to hold database User Name and Password values
            String DB_USER_NAME = username;
            String DB_PASSWORD = password;
            System.out.println("DB_USER_NAME......."+DB_USER_NAME);
            System.out.println("DB_PASSWORD......."+DB_USER_NAME);
            // Obtain collection of tables from this database controller
            if (reportName == null || reportName.equals("")) {
                Tables tables = clientDoc.getDatabaseController().getDatabase().getTables();
                System.out.println("Tables in reports........"+tables.size());
                for(int i = 0;i < tables.size();i++){
                    origTable = tables.getTable(i);
                    System.out.println("origTable........"+origTable.getQualifiedName());
                    if (tableName == null || origTable.getName().equals(tableName)) {
                        newTable = (ITable)origTable.clone(true);
                        // We set the Fully qualified name to the Table Alias to keep the
                        // method generic
                        // This workflow may not work in all scenarios and should likely be
                        // customized to work
                        // in the developer's specific situation. The end result of this
                        // statement will be to strip
                        // the existing table of it's db specific identifiers. For example
                        // Xtreme.dbo.Customer becomes just Customer
                        newTable.setQualifiedName(origTable.getQualifiedName());
                        System.out.println("newTable........"+newTable.getQualifiedName());
                        // Change properties that are different from the original datasource
                        // For example, if the table name has changed you will be required
                        // to change it during this routine
                        // table.setQualifiedName(TABLE_NAME_QUALIFIER);
                        // Change connection information properties
                        connectionInfo = newTable.getConnectionInfo();
                        // Set new table connection property attributes
                        propertyBag = new PropertyBag();
                        // Overwrite any existing properties with updated values
                        //propertyBag.put("Trusted_Connection", TRUSTED_CONNECTION);
                        //propertyBag.put("Server Type", SERVER_TYPE);
                        propertyBag.put("Use JDBC", USE_JDBC);
                        propertyBag.put("Database DLL",DATABASE_DLL );
                        propertyBag.put("JNDI Datasource Name",JNDI_DATASOURCE_NAME );
                        propertyBag.put("Connection URL", CONNECTION_URL);
                        propertyBag.put("Database Class Name", DATABASE_CLASS_NAME);
                        //propertyBag.put("Server Name", SERVER_NAME); //Optional property
                        // propertyBag.put("Connection String", CONNECTION_STRING); //Optional property
                        // propertyBag.put("URI", URI); //Optional property
                        connectionInfo.setAttributes(propertyBag);
                        // Set database username and password
                        // NOTE: Even if the username and password properties do not change
                        // when switching databases, the
                        // database password is *not* saved in the report and must be set at
                        // runtime if the database is secured.
                        connectionInfo.setKind(ConnectionInfoKind.SQL);
                        connectionInfo.setUserName(DB_USER_NAME);
                        connectionInfo.setPassword(DB_PASSWORD);
                        // Update the table information
                        clientDoc.getDatabaseController().setTableLocation(origTable,newTable);
    Also i tried with replaceConnection() method...........it displayed the report, but with not column names and data
    need help regarding.......
    Edited by: abhishek.c1984 on Jun 25, 2009 10:02 AM

    In the report i have two tables.............so before changing the database properties for each table iam printing their names.
    The names are dispalyed correctly.......but once i set the table location...i.e through the following method..
    clientDoc.getDatabaseController().setTableLocation(tables.getTable(i),newTable);
    every time i can see only one table i.e. properties are set for the first table ........and each time the properties are being set for the first table only.....i dont no what is happening to the rest of the tables..
    I have posted the method in the above post.....can any one please trace out the problem
    Note: when i comment the following code, i can see all the tables
    clientDoc.getDatabaseController().setTableLocation(tables.getTable(i),newTable);
    when i uncomment it, i can see only first table repeating every time...
    Edited by: abhishek.c1984 on Jun 25, 2009 1:03 PM

  • How to change a connection with the database in Runtime?

    How to change a connection with the database in Runtime?
    My connection was made using ADF Business component (ApplicationModule).
    ADF Swing.
    JDeveloper Studio 11.1.1.4.0.

    When deploying ADF applications with database connection, you should be using JDBC data sources configured in the weblogic server.
    You could change the JDBC data sources to a different DB instance or location - by changing the JDBC data source and restarting the weblogic server.
    For more details, check
    http://techiecook.wordpress.com/2010/12/02/oracle-weblogic-adf-datasources/
    Thanks,
    Navaneeth

  • Getting errors after changing the Database

    Previously I was using a different database connection for my adf application.Now i have changed the database connection through project properties->business components. I also deleted the details of the previous connection from connection.xml file. But still i'm getting the error about the previous connection.
    Please share your opinion to get rid of this problem.

    Try this.
    1. Menu->View->Database->Database Navigator
    2. Find your application specific connection.
    3. Check properties of the connection, update/recreate, test the connection using Test button.
    4. Menu->Build->Clean All

  • Change the database charecterset in 9.2.0.7

    Hi,
    we have 9.2.0.7 database running on HP-UX Itanium 64bit.
    we have current WE8MSWIN1252 as the charecter set. we use this db for banking application. This Database contains english and Arabic data also.
    so we are in the process of upgrade of banking application and new apps version is not supporting the our current database charecterset.
    so we need to change our database charecter set from WE8MSWIN1252 to AR8ISO8859P6.
    our database contains 1500 tables and in that 200 tables contains millions of rows and contains arabic data also.
    so guys, please suggest me with best strategies and preacuations, that i have to follow during the charecterset migration?
    Edited by: oraDBA2 on Apr 13, 2009 11:29 AM

    If you expect that the database is currently storing Arabic data in CHAR/ VARCHAR2 columns and that the database character set is Windows-1252, you have a problem. Windows-1252 does not support Arabic characters. So if you have stored Arabic characters in a Windows-1252 database, there must be a substantial configuration issue which is going to make changing the database character set massively more complicated.
    Realistically, you are going to have to jump through some hoops by
    - unloading all the data to flat files using a tool that respects the NLS_LANG of the client machine (and setting the NLS_LANG to match the database server character set)
    - determining the actual character set used to encode the Arabic data (which may or may not be ISO 8859-6)
    - Using SQL*Loader (with a control file that specifies the actual source character set) to load all the data into a new database with the proper database character set
    You're not going to be able to use Oracle tools like import and export here since that would involve doing a character set conversion that would further corrupt your data.
    Justin

  • How to change the database in a business area

    Hello All,
    I am trying to figure out a way to change the database that a business area connects to. When I created the business area I selected to look at tables from the default database. Now I need to change that setting to connect to a different database. The tables are exactly the same on both databases. I just need to change the database that the business area looks at.
    Is there a simple way of accomplishing this? I want to avoid having to recreate the business area.
    Thank you very much in advanced for your help with this matter.
    Del Benavides.

    Hi,
    Select all your folders in Disco Administrator,ALT+ENTER to go to properties, then change the database from the default database to the remote database.
    Hope that helps,
    Rod West

  • Probleme changing the value of a variable in movieclip from my scene

    Hello,
    i have a probleme changing the value of a variable in movieclip from my scene. i explain: I have combobox on my scene containing categories, and in the scene i load an xml file containing links to php files that work with the combobox.
    Also on the scene i have a movieclip "filmstrip", inside this movieclip on the first frame i have a script loading the php file selected in the scene . i use a load() function with a variable "theUrl" inside like this : T.load(theUrl);.
    In my scene i want to change the value of "theUrl" inside the movieClip filmstrip. I tried filmstrip.theUrl = url; But it doesnt work
    the xml file
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <slideshow>
    <area title1="10 Last updated" link1="link1.php"/>
    <area title1="special" link1="link2.php"/>
    </slideshow>
    here is the code on my scene:
    var link1:Array = new Array();
    var LINK:String;
    var url:String;
    var whoOn:Number;
    whoOn=0;
    var x:XML = new XML();
    x.ignoreWhite = true;
    x.onLoad = function(success) {
    var photos:Array = this.firstChild.childNodes;
    for (i=0; i<photos.length; i++) {
    _root.link1.push(photos[i].attributes.link1);
    url=link1[whoOn];
    filmstrip.theUrl=url;//<<--HERE
    x.load("category.xml");
    var cbListener:Object = new Object();
    cbListener.change = function(event_obj:Object) {
    trace(select.selectedItem.label);
    if (select.selectedItem.label == "Last updated") {
    whoOn=0;
    } else if (select.selectedItem.label == "Special") {
    whoOn=1;
    url=link1[whoOn];
    filmstrip.theUrl=url; //<<-----HERE  
    select.addEventListener("change",cbListener);
    here is the code inside the movie clip "filmstrip"
    var T:XML = new XML();
    T.ignoreWhite = true;
    T.onLoad = function(xml) {
    etc etc etc }
    T.load(theUrl);    //<<---HERE it still undefined

    YESSSS . Thanks you very much Kglad it wotk i put all in a function inside the filmstrip function Tload(theUrl){etc ect}and in the root i call it like this filmstrip.Tload(theUrl);   and it works
    code in the root var link1:Array = new Array();
    var LINK:String;
    var url:String;
    var whoOn:Number;
    whoOn=0;
    var x:XML = new XML();
    x.ignoreWhite = true;
    x.onLoad = function(success) {
    var photos:Array = this.firstChild.childNodes;
    for (i=0; i<photos.length; i++) {
    _root.link1.push(photos[i].attributes.link1);
    url=link1[whoOn];
    theUrl=url;
    filmstrip.Tload(theUrl);//<<--HERE
    x.load("category.xml");
    var cbListener:Object = new Object();
    cbListener.change = function(event_obj:Object) {
    trace(select.selectedItem.label);
    if (select.selectedItem.label == "Last updated") {
    whoOn=0;
    } else if (select.selectedItem.label == "Special") {
    whoOn=1;
    url=link1[whoOn];
    theUrl=url;
    filmstrip.Tload(theUrl);//<<-----HERE
    select.addEventListener("change",cbListener);

  • In iTunes I'm having problems changing the "Media Kind" with a number of playlists in the OPTIONS menu from "music" to "audiobook". After going through the steps, the next time I check the items have reverted back to "music". What step am I missing?

    In iTunes I'm having problems changing the "Media Kind" in the OPTIONS menu from "Music" to "Audiobook". After going through the steps, the next time I check, the items have reverted back to "Music". What must I do to save it as an "Audiobook"?

    After more digging in the Support section here and some Google work, I turned off iTunes Match and lo and behold!  I can change the media kind to Audiobook!  So, it looks like iTunes Match locked the files up somehow and for some reason.
    I went into iTunes Store > iTunes Match > "No, Thanks" to disable it on the local PC.

  • Changing the Database driver causing performance issue

    Hello Experts
    I am finding a strange issue where if I change the database to Oracle 11g ( you will find it if you click the database which you have created in physical layer) under Data Source definition the report takes a longer time to complete.
    Actually I have upgraded the 10g rpd and catlog to 11g but database under data source definition was still using - oracle 10gR1 ( i donno whether this is a driver or not) . Everthing was running perfectly fine until I change the database under data source definition to Oracle 11g , the report takes a longer time . Also I found that the query is changed when I changed the database under data source definition to 11g.
    Also to inform you that datawarehouse is Database 11g where the data lies.
    what is the significance of Data source definition as changing it is changing the whole query.
    Pls. help.

    Hello,
    Do you have the Full Oracle 11g DB Client installed on the same box where you are running your BI Server .? Also can you make sure you have copy of tnsnames.ora in following directories.
    1. C:\Middleware\Oracle_BI1 \network\admin directory
    2. C:\Middleware\oracle_common\network\admin
    Check if the SQL Features that the datasource has , sometimes when you disable SQL features the server could issue a less effcient query to the database.
    Thanks,
    -SVS

  • Can I change the database Listener name in 11.5.10.2

    Hi Hussen
    Is it possible to change the Listener name and port on database node. My Application is of 4 node env. 2 rac database nodes 2 shared application tier nodes.
    My requirement is to change the Database node listener name and port.
    Thanks
    reddy

    Reddy,
    It is possible -- Please see (How to change the hostname and/or port of the Database Tier using AutoConfig [ID 338003.1]) for details.
    However, it is always recommended you have the ports on the application/database tier nodes within the same port pool -- See (How To change the Port Pool in the E-Business Suite 11i [ID 414439.1]).
    Thanks,
    Hussein

  • Change the database log on parameters in the run time with CR10 Delphi2007?

    Hi,
    I'm using crystal report 10 and Crystal VCL for Delphi. How can I change the database log on parameters in the run time?

    You have to use the ConnectBuffer. See [this|https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_erq/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes.do] note for details.
    Also, consider searching the notes database:
    https://www.sdn.sap.com/irj/scn/advancedsearch?cat=sdn_ossnotes&query=&adv=true
    The search; VCL database crystal, returns a number of notes that may be of use.
    Ludek

  • Is it possible to change the Database default date format  'dd/mm/yy'

    I'm inserting a date with the format 'dd-mon-yy' in a column, it gives the error:- " a non-numeric character was found where a numeric was expected ". I also tried the TO_DATE function but not successful.
    I want to change the Database default Date format 'dd/mm/yy' to 'dd-mon-yy'. Is it possible?
    version is (Oracle Server 7.3.2.0). I checked it on version ( Oracle Server 7.3.4.0) with format of 'dd-mon-yy'.
    May I keep the both formats at a time?
    Thanks for solution(s),
    Tariq.

    you can try with:
    ALTER SESSION
    SET NLS_DATE_FORMAT = 'dd-mon-yy';

  • How to change the database in Crystal reports

    To give an overview there is one project going on where the oracle database is getting migrated from 10g to 11g.
    All the details of database like IP, port etc are changing as part of this.
    I can see the driver name configured as crdb_ado (Custom driver).
    We have an test environment for 11g against which we have to point all the reports and test it.
    Could you please let me know the below queries
    Where and how to change the IP details in the crystal reports to point to new test and prod databases.
    Overview on this crdb_ado driver
      Basically the database is getting changed and we want the reports to point and run from the new database.
    Thanks

    Hi Vissu,
    Thanks for your reply.
    We need to change the database from the reports which are already running from central management console.
    I can see a custom driver crdb_ado is being used and it connects to a database.
    Could you please let me know where the database configuration is done.
    Ideally we need to add one more database to a config file which i am not able to find.
    I guess it should be similar to tnsnames.ora file in oracle where the different databases are stored.
    From the above image I would like to know where the server details (NECTAR_Prod) would be configured.
    Thanks in advance

  • How can i change the database name on MaxDB?

    Hello.  I need to do a homogeneous copy where the source system is the productive system and the target system is the quality system. Therefore after to restore the data backup i need to change the database name of quality system (from CLP to CLQ) but i'm not sure that it could be possible because in the MaxDB documentation i didn't found nothing about that. please can you tell me if it is possible and how i change it?
    I work with MaxDB 7.6.04.11.  Thanks for your help.

    > I will try to explain better: the SID of the source database is CLP and the SID of the target database is CLQ, when you say "once you restore the DB, it will use the new SID", i understand that the new SID in the target database would CLP or am i wrong? and i need that the SID in the target database remains CLQ after the restore.
    Hi Ivonne,
    what you've described as your requirement is exactly what will happen, when you just perform the procedure that Eric described to you.
    A recovery won't change the SID of the instance you perform the recovery to.
    All it does is: take the instance as is and load the data pages to the data area. Afterwards the log files may be recovered.
    Think of the instance as a kind of container for your database.
    The instance itself is not the database - so the SID does not change with the content of the database.
    Hmm... why not simply try it?
    Create a little test instance and back it up.
    Create another instance with a different name and recover the backup of the first instance.
    You will still have both instances, each with its original name.
    regards,
    Lars

  • Changing the Database characterset

    Hi,
    My oracle 9i database characterset is AL32UTF8.
    I wanted to change this to UTF8 for some testing purpose...
    After few days i need to reset this characterset back to AL32UTF8.
    how should i proceed on this?
    Plz adivice.....
    Regards,
    Ashok Kumar.G

    Thanks Pierre Forstmann,
    In metalink i found out the following
    In 9i you can't simply use "ALTER DATABASE CHARACTERSET" to go from
    AL32UTF8 to UTF8 because UTF8 is a SUB-set of AL32UTF8
    (some codepoints which are correct in AL32UTF8 are not known in UTF8)
    So you will run into ORA-12712 if you try alter database ....
    I hope this makes sense when the database contains data.
    suppose if i drop my schema(now the database has no user data) and try to change the database characterset from AL32UTF8 to UTF8 will it impact any other?
    and after changing to UTF8 can i import the user data again (say from export file which was taken from a UTF8 database) ?
    Regards,
    Ashok Kumar.G

Maybe you are looking for