Handling ddl changes in source for synchrnous cdc

Hi all,
I am now considering whether to use asynchrnous cdc or synchronous cdc for my BI project and one of the issues we are looking at is how ddl changes to the source are managed. What are the possible solutions to look at for managing ddl changes for synchronous cdc? I understand that for asynchrnous cdc there is this stop_on_ddl option for change sets where you can disable the change sets upon ddl changes to the source tables. How about synchrnous cdc? Are there any ways to deal with ddl changes to the source ?

I've got an idea, but this has to be done for each column of each SOURCE datastore...
You could create "ODI conditions" based on your datawarehouse columns.
Each condition say : "length( name_of_field ) <= XXX"
I assume you can set the XXX with the substitution method "getColumn()" and patterne "LONGC"
These condition will be only on STATIC control.
In your ODI package, before launching your interface, you can drop the source datastore and check these conditions with static control. All records that have a column whose real source lenght is not the same that the lenght defined in ODI will be rejected in E$. And, if you want, delete from the source (facultative).
You can also imagine an extra custom LKM step that scan all your datastore column (with getcol list method) and compare their length to the target datastore columns and reject the bad data. It will be more difficult to implement (100% custom code), but faster to propagate everywhere.

Similar Messages

  • How to track DDL Changes and source code changes

    How can I track the DDL Changes and the Source code (Functions,Procedures,Packages & views) changes made for selective schemas?.
    I mean I want to maintain the history of DDL changes and the sourcecode change history. How to do that? Please provide your guideline with some example...

    Hi,
    you could use a DDL trigger (before create)
    to maybe capture the code and do the audit as well?
    Try this:
    SQL>create table old_code
    2 as
    3 select user username, 0 version, sysdate date_changed, user_source.*
    4 from user_source
    5 where 1=0
    6 /
    Table created.
    SQL>create sequence version_seq;
    Sequence created.
    SQL> create or replace trigger create_trigger
    2 before create on schema
    3 declare
    4 l_date date := sysdate;
    5 l_ver number;
    6 begin
    7 if (ora_dict_obj_type in ( 'PACKAGE', 'PACKAGE BODY', 'PROCEDURE',
    'FUNCTION' ) )
    8 then
    9 select version_seq.nextval into l_ver from dual;
    10
    11 insert into old_code
    12 select user, l_ver, l_date, user_source.*
    13 from user_source
    14 where name = ora_dict_obj_name
    15 and type = ora_dict_obj_type;
    16 end if;
    17 end;
    18 /
    Trigger created.
    SQL> create or replace function f return number
    2 as
    3 begin
    4 return 0;
    5 end;
    6 /
    Function created.
    SQL> select * from old_code;
    no rows selected
    SQL> create or replace function f return date
    2 as
    3 begin
    4 return sysdate;
    5 end;
    6 /
    Function created.
    ops$[email protected]> select * from old_code;
    USERNAME VERSION DATE_CHAN NAME TYPE LINE TEXT
    aaaaaaaaaaa 2 17-OCT-02 F FUNCTION 1 function f return number
    aaaaaaaaaaa 2 17-OCT-02 F FUNCTION 2 as
    aaaaaaaaaaa 2 17-OCT-02 F FUNCTION 3 begin
    aaaaaaaaaaa 2 17-OCT-02 F FUNCTION 4 return 0;
    aaaaaaaaaaa 2 17-OCT-02 F FUNCTION 5 end;

  • Changing Data Source for command objects

    Hi,
    My report (designed in CR 10) is running based on the Stored Procedure call using a command object; which is running successfully in the DEV environment. The report data source connectivity is a DSN.
    Now i want to switch it to QA environment with different DSN name. When i tried to update the Change Data Source option, it doesn't allows to update the existing command with a new command!!!!
    I don't know how to fix this. Could any one of you have idea, pls. share it here???
    Thanks
    Viswa

    If you have same table structure in new data source then you can change the datasource connection.
    Follow the steps in this article
    KBase Article ID:c2016958
    Article refers to:Crystal Reports 10
    Symptom
    In Crystal Reports (CR) 10, can you change the database connection of an existing command object to use a different database connection without the use of a Crystal Repository?
    Resolution
    Yes, you can change the database connection of an existing command object to use a different database connection without the use of a Crystal Repository by using the following steps:
    ====================
    NOTE:
    You must apply the CR 10 Monthly Hot Fix (cr10win_en.zip) and the CR 10 Database and Export Drivers Monthly Hot Fix (dbex10win_en.zip) before starting the steps below.
    You can download these hot fixes at http://support.businessobjects.com/search
    ====================
    1. Open a report with a command object.
    2. Go the 'Database' menu and click 'Set Datasource Location'.
    3. In the 'Set Datasource Location' dialog box, select the connection for the command object (the connection appears as a cylinder with a plug).
    4. In the lower window, select the new connection and log on to the database.
    5. Ensure the connection is highlighted for the command object in the top window, and the connection is highlighted for the new command object in the bottom window.
    6. Click Update.
    The database connection for the command object now changes to use the new database connection information.
    Regards,
    Raghavendra

  • Change the source for a media player based on selection from a list.

    All of this is referring to my public facing website in Office 365.
    I put the following code in a content editor web part:
    <audio controls>
      <source src="http://someserver/somefile.mp3" type="audio/mpeg">
    </audio>
    This works just fine. 
    What I want to do, is display a table below this which is a list of mp3's. when the user clicks on one of them the audio plays in the <audio controls>. 
    In other words, I want to change the source of the above player when I click on a link elsewhere in the page.
    Thank you
    Joe Fager

    What you'll need to do is have a javascript onclick/onchange event in the dropdown that runs a set of code that will reset the audio control with the new source. That can be done with jQuery.
    Andy Wessendorf SharePoint Developer II | Rackspace [email protected]

  • 9iAS: Programmatically change data source for Java/J2ee bc4j application

    Background: We obtain a copy of our customer's live data daily for support issues. We'd like to be able to keep up to date as possible and get files early in the morning. due to the size of the database, it takes a few hours to download and import into our Oracle database. what I'd like to do is use two different schemas/users for the data, alternating on each day so that the loading of one, does not affect the running of the other. To make this seamless, I'd like to have a script perform the changes after the download and restart the server. The issue is how/where to change the data source so that my application will pick it up each time? I'm using an application specific data source from EM.
    Any ideas?
    Thanks,
    Jeff

    If it is intended to be accessible from Reports servlet then you can use "ssoconn" command line option where by the user name and password is stored in OID (Oracle Internet Directory)
    Pls see publishing reports to web document --> command line options -> rwservlet
    (link below)
    [    All Docs for all versions    ]
    http://otn.oracle.com/documentation/reports.html
    [     Publishing reports to web  - 10G  ]
    http://download.oracle.com/docs/html/B10314_01/toc.htm (html)
    http://download.oracle.com/docs/pdf/B10314_01.pdf (pdf)
    [   Building reports  - 10G ]
    http://download.oracle.com/docs/pdf/B10602_01.pdf (pdf)
    http://download.oracle.com/docs/html/B10602_01/toc.htm (html)
    [   Forms Reports Integration whitepaper  9i ]
    http://otn.oracle.com/products/forms/pdf/frm9isrw9i.pdf
    ---------------------------------------------------------------------------------

  • Change Data Source for a lot of Crystal Report

    I have a lot of reports which use Visual FoxPro as datasource. We will mirgrate to MS SQL Server and change the names of tables. Is there any way to set data source to new table in new ODBC other than do it manually ? Please advice.
    Thanks.

    Hi Leo,
    If you use Business Objects Enterprise, then you can use a tool called 'Schedule Manager' to update the datasource of all your reports to SQL Server - at one go!
    If you don't then, well, it gets laborious and you'll have to get into every single report and use 'Set datasource location' within CR.
    -Abhilash

  • Changing source for HTMLDataSet

    Hi -
    Is it possible to change the source for a Spry HTMLDataSet
    after the
    page loads to a XML data set? I'd like the HTML on a
    particular page to
    provide the initial information for a product detail page,
    but then use
    an XML source to provide alternate product info if the user
    chooses.
    Thanks,
    Rod

    Hi -
    Thanks for the reply. The data sets I have in mind would be
    identical
    in terms of columns.
    What I am trying to do here is construct a product navigator
    for a
    website that will permit navigation through the products and
    manufacturers using Ajax. The problem is that search engines
    need to
    see content on any given product detail page. My thought was
    to use the
    new Spry HTMLDataSet to initially populate the navigator with
    the
    information relevant to the page the visitor landed on, but
    to permit
    broader navigation of the remaining products via the Ajax
    navigator.
    The full product list would be too large for a single page,
    so this
    brings me to the substitution question.
    I've set up a poor alternative using ASP and browser
    detection for
    JavaScript to deliver non-Ajax content to search engines and
    the
    Spry/Ajax stuff to regular browsers, but your HTML data sets
    would be
    much, much better.
    Thanks again. I've been using Spry in various sites since 1.1
    and have
    been having a blast - despite having to re-learn my rusty
    JavaScript.
    Rod

  • Switch data sources for only 1 table?

    Greetings. In AS 2012 Tabular, I see that I have 3 existing connections. One connection is used as the source for most of the tables, but the other two connections are the source for one table each. I'd like to change the source for those two other
    tables to use the main data connection, but can't figure out how?
    My logical guess would be in the table properties, but that's not it.
    Any ideas?
    TIA, ChrisRDBA

    Greetings. In AS 2012 Tabular, I see that I have 3 existing connections. One connection is used as the source for most of the tables, but the other two connections are the source for one table each. I'd like to change the source for those two other
    tables to use the main data connection, but can't figure out how?
    My logical guess would be in the table properties, but that's not it.
    Any ideas?
    TIA, ChrisRDBA
    Hello,
    If your three data connections from different database, I don't think we can combine three data connections into one in Tabular model design surface. If you need to only use one data connection for your Tabular model, please try to combine your underlying
    tables into one database.
    Please point out if I have something misunderstood.
    Regards,
    Elvis Long
    TechNet Community Support
    Thanks Elvis. As stated above, all tables reside in one DB.
    TIA, ChrisRDBA

  • Trying to change the data source for a Crystal Report.

    <p>The method below represents my best attempt to programatically change the data source of a Crystal Report. The goal is to have a routine that will update the data source for reports after they have been distributed to production servers. So far I have not been successful in saving the report back to the CMS. No exceptions are thrown, but when I view the Database Configuration of the report in the CMC nothing has changed.
    </p>
    <p>
    Am I missing a step, or is there another way to accomplish this?
    </p>
    <p>
    Thank you.
    </p>
    <hr />
    <pre>
    private void test(String reportName)
       throws SDKException, ReportSDKException, java.io.IOException
       IInfoObjects newInfoObjects;
       IInfoObject reportObj;
       ReportClientDocument clientDoc = new ReportClientDocument();
       DatabaseController dc;
       PropertyBag pBag;
       PropertyBag logonProps;
       ConnectionInfo newConInfo;
       ConnectionInfo oldConInfo;
       ConnectionInfos conInfos;
       int connOptions = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB; //0;
       Fields connFields = null;
       String queryStr = "Select * From CI_INFOOBJECTS " +
          "Where SI_NAME='wfr.rpt' AND SI_KIND='CrystalReport' AND SI_INSTANCE=0";
       newInfoObjects = getCms().executeQuery(queryStr);
       if(newInfoObjects.size() > 0)
          reportObj = (IInfoObject)newInfoObjects.get(0);
          try
             clientDoc = getCms().getReportAppFactory().openDocument(
                reportObj
                , OpenReportOptions._refreshRepositoryObjects
                , java.util.Locale.US);
             dc = clientDoc.getDatabaseController();
             conInfos = dc.getConnectionInfos(null);
             for(int i = 0; i < conInfos.size(); ++i)
                oldConInfo = (ConnectionInfo)conInfos.getConnectionInfo(i);
                newConInfo = (ConnectionInfo)oldConInfo.clone(true);
                pBag = newConInfo.getAttributes();
                pBag.putStringValue("QE_ServerDescription", "alio");
                logonProps = new PropertyBag();
                logonProps.putStringValue("Trusted_Connection", "false");
                logonProps.putStringValue("Server", "alio");
                pBag.put("QE_LogonProperties", logonProps);
                newConInfo.setUserName("admin");
                newConInfo.setPassword("password");
                dc.replaceConnection(
                   oldConInfo
                   , newConInfo
                   , connFields
                   , connOptions);
          catch(ReportSDKServerException Ex)
             String msg = "A server error occured while processing the " + reportObj.getKind()
                + " object, " + reportObj.getTitle() + " (" + reportObj.getCUID() + "), from the CMS.";
             Utility.errorOut(msg, Ex);
          catch(Exception Ex)
             String msg = "An error occured while processing the " + reportObj.getKind()
                + " object, " + reportObj.getTitle() + " (" + reportObj.getCUID() + "), from the CMS.";
             Utility.errorOut(msg, Ex);
          finally
             clientDoc.save();
             getCms().commitToInfoStore(newInfoObjects);
             clientDoc.close();
    </pre>
    Edited by: Mark Young on Sep 10, 2009 2:16 PM

    <style type="text/css">
    /<![CDATA[/
        body
            font-size: 1.125em;
              font-family: helvetica,arial,"sans-serif";
          .code{font-family: "courier new",courier,mono,monospace}
          .bi{font-style: italic; font-weight: bold;}
    /]]>/
    </style>
    <p>Justin,</p>
    <p>
    Thank you for the reply. Time constraints have not allowed me to post back to this tread
    till now. I will try your suggestion. My assumption is that <i>Save the report back to the
    info store</i> refers to <span class="code">IInfoStore.commit(IInfoObjects)</span>.
    </p>
    <p>
    I'm afraid that I do not understand why I don't want to change the report client document,
    or why <i>successfully exporting the report with the new login/password</i> is not what I
    want to do. Any explanation on that statement would be appreciated.
    </p>
    <p>
    I did find a way to accomplish my goal. It involved adding the SSOKEY property to the
    logon property bag. Below you'll see my revised code which modifies the report logon and
    server. I have no idea what
    this does, and SAP support has not been able to tell me why it works. However, what I
    discovered is that if I changed the report option, <b>Database Configuration -> When
    viewing report:</b>, in the CMS to <span class="bi">Use same database logon as when report
    is run</span> from <span class="bi">Prompt the user for database logon</span>, then the
    SSOKEY property had been added to the logon property bag having an empty string as its
    value. This allowed me to successfullyupdate and save the modified logon back to the CMS.
    </p>
    <p>
    So I took a chance and added code to always add the SSOKEY property with an empty string
    as its value, and I could then successfully modify and save the report's logon info
    and server. Again, I don't know what this means, but it has worked so far. If anyone has
    some insight or comments, either are welcome. Thank you in advance.
    </p>
    <br />
    <hr />
    <pre>
    private void changeDataSourceOfAWFCrystalReports()
       throws SDKException, ReportSDKException, java.io.IOException
       IInfoObjects newInfoObjects = null;
       IInfoObject reportObj = null;
       IReport curReport = null;
       ReportClientDocument clientDoc = new ReportClientDocument();
       DatabaseController dbController;
       PropertyBag pBag;
       PropertyBag logonProps;
       ConnectionInfo newConInfo;
       ConnectionInfo oldConInfo;
       ConnectionInfos conInfos;
       int connOptions = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB;
       Fields connFields = null;
       String outputStr;
       int numOfReports;
       int numOfQueryPages;
       double progressIncrementPerPage = 30;
       int progressIncrementPerReport = 0;
       // Path query to reports is in a .properties file.
       String queryStr = getAppSettingsFile().getWscAwfCrystalReportPathQuery();
       try
          // Executes IInfoStore.getPageingQuery() and generates a list of queries.
          getCms().setPathQueryQueries(queryStr, 100);
          numOfQueryPages = 0;
          // Gets a List&lt;String&gt; of the IPageResult returned from IInfoStore.getPageingQuery().
          if(getCms().getPathQueryQueries() != null)
             numOfQueryPages = getCms().getPathQueryQueries().size();
          if(numOfQueryPages &gt; 0)
             // Use 30% of progress bar for the following loop.
             progressIncrementPerPage = Math.floor(30.0/(double)numOfQueryPages);
          for(int queryPageIndex = 0; queryPageIndex &lt; numOfQueryPages; ++queryPageIndex)
             // Gets the IInfoObjects returned from the current page query
             newInfoObjects = getCms().getPathQueryResultSetPage(queryPageIndex);
             numOfReports = newInfoObjects.size();
             if(newInfoObjects != null && numOfReports &gt; 0)
                progressIncrementPerReport =
                   Math.round((float)Math.floor(progressIncrementPerPage/(double)numOfReports));
                for(int reportIndex = 0; reportIndex &lt; numOfReports; ++reportIndex)
                   reportObj = (IInfoObject)newInfoObjects.get(reportIndex);
                   curReport = (IReport)reportObj;
                   clientDoc = getCms().getReportAppFactory().openDocument(
                      reportObj
                      , OpenReportOptions._refreshRepositoryObjects
                      , java.util.Locale.US);
                   dbController = clientDoc.getDatabaseController();
                   conInfos = dbController.getConnectionInfos(null);
                   for(int conInfosIndex = 0; conInfosIndex &lt; conInfos.size(); ++conInfosIndex)
                      oldConInfo = (ConnectionInfo)conInfos.getConnectionInfo(conInfosIndex);
                      newConInfo = (ConnectionInfo)oldConInfo.clone(true);
                      pBag = newConInfo.getAttributes();
                      pBag.putStringValue(
                         "QE_ServerDescription"
                         ,getConfigFile().getDBDataSourceConnections());
                      logonProps = new PropertyBag();
                      logonProps.putStringValue("Trusted_Connection", "false");
                      <b>logonProps.putStringValue("SSOKEY", "");</b>
                      logonProps.putStringValue(
                         "Server"
                         ,getConfigFile().getDBDataSourceConnections());
                      pBag.put("QE_LogonProperties", logonProps);
                      newConInfo.setUserName(getConfigFile().getUNVConnectionUserName());
                      newConInfo.setPassword(getConfigFile().getUNVConnectionPasswordDecrypted());
                      dbController.replaceConnection(
                         oldConInfo
                         , newConInfo
                         , connFields
                         , connOptions);
                      newConInfo = (ConnectionInfo)conInfos.getConnectionInfo(conInfosIndex);
                   } // end for on conInfosIndex
                   clientDoc.save();
                } // end for on reportIndex
             } // end if on newInfoObjects
          } // end for on queryPageIndex
       } // end try
       catch(ReportSDKServerException Ex)
          // handle...
       catch(Exception Ex)
          // handle...
       finally
          getCms().commitToInfoStore(newInfoObjects);
          if(clientDoc != null)
             clientDoc.close();
    </pre>

  • SharePoint PPS 2013 Dashboard Designer error "Please check the data source for any unsaved changes and click on Test Data Source button"

    Hi,
    I am getting below error in SharePoint PPS 2013 Dashboard Designer. While create the Analysis Service by using "PROVIDER="MSOLAP";DATA SOURCE="http://testpivot2013:9090/Source%20Documents/TestSSource.xlsx"
    "An error occurred connecting to this data source. Please check the data source for any unsaved changes and click on Test Data Source button to confirm connection to the data source. "
    I have checked all the Sites and done all the steps also. But still getting the error.Its frustrating like anything. Everything is configured correctly but still getting this error.
    Thanks in advance.
    Poomani Sankaran

    Hi Poomani,
    Thanks for posting your issue,
    you must have to Install SQL Server 2012 ADOMD.Net  on your machine and find the browse the below mentioned URL to create SharePoint Dashboard with Analysis service step by step.
    http://www.c-sharpcorner.com/UploadFile/a9d961/create-an-analysis-service-data-source-connection-using-shar/
    I hope this is helpful to you, mark it as Helpful.
    If this works, Please mark it as Answered.
    Regards,
    Dharmendra Singh (MCPD-EA | MCTS)
    Blog : http://sharepoint-community.net/profile/DharmendraSingh

  • How to change the source type for a primary key on a form?

    Hi,
    At the time of creating a form, I had set the source type for the primary key to an existing sequence.
    Now I want to change the source to a trigger.
    Can anyone suggest how to do it?
    Thanks in advance,
    Annie

    Annie:
    Define the trigger and then delete the page process named 'Get PK'
    Varad

  • How to change the source system for just a datasource

    Hi,
    Our test/development BI system ( BI 7.0 Unicode ) is connected to our development system and to our test system, 1 BI system connected to 2 R/3 systems.
    During some time, the test system won't be available so all datasources that point to the test system must be connected to the development system. In RSA1 is not possible to change the source system in a datasource: RSDS 057
    'Creation of DataSources for SAP source system D30CLNT007 is not permitted' , same error trying to copy the datasource,.
    Any idea about how to proceed ?
    Regards,
    Joan

    Hi,
    If I try to repliclate metadata in the datasource, message RSAR 051 appears: 'error when opening an RFC connection'. This error is expected because the logical system pointed in the datasource does not exist.
    Is not possible to change the source system in datasource ( in RSA1 ) because the field is always greyed, also if I try to copy the datasource the message RSDS 057 appears.
    Any idea about how to proceed ?
    Regards,
    Joan

  • Problem in Internalization( I18N) for changing the Source langeuage

    Hi All,
    I have some problem in changing the source language in header:
    In S2X editor, I copyed the .xlf file pasted in same then modifyed accordingly(xxx_de.xlf) when i opend the xlf its asking the Activity when I created its throwing repository access faild like no deltaV resource avilable with directory(c:\......)
    and im not able to change the header and Resource text In S2X Editor, any one give me help on this.
    Thanks
    polaka

    Hi Nagesh,
    When we are doing I18N for that Application. Go to Navigator Tab
    Here Select Particular Projects--à src-àPackages-àsap-àvijay
    To internationalize the Web Dynpro application, copy the automatically generated *.xlf files and save them under a new name in the same directory.
    The new name must meet the following convention:
    u2022 .xlf
    For example, if you are creating *.xlf files for German,
    Use the language key de.
    Here Click on OK
    After that we can edit and translate these new *.xlf files in the S2X Editor.
    ApplyTemFirstView.wdview_de.xlf-àClick on Resource Text Tab
    Select Particular Text and Change the language to German-àClick on EDIT Button
    Here Enter German Lang-àClick on OK
    Now Go to Web Dynpro Explorer Tab
    Select Project-àRC Click on Rebuild Project
    Select Project-àRC Click on Reload
    Then Deploye the Application
    How to Check in Explorer. It is converting to German Language or not
    Open Internet Explorer
    Tool-àInternet Options -àClick on Languages Button-àClick on ADD Button
    Select German Language--àClick on OK
    Now We will Check in Portal
    Created Web Dynpro iView in Portal. That iView assign to the particular WorkSet-àAssign to Role
    Select that user Can Change Language
    Regards
    Vijay Kalluri

  • Change of Source Structure for Partial Settled WBS elements - CJ02

    Hi
    As per standard SAP, the change of source structure under settlement perameters of WBS element is not supported when the settlement of WBS element is done either partial / full.
    However, the client needs this change by doing any Z-Development as one time activity (since the source structure was changed for certain WBS elements as per change in business process).
    Can i Know procedure to do the Z development to modify the source structure for partial settled WBS elements and also let me know the any side effects in this regard.
    Regards
    Anil

    Hi Anil,
    I agree with Ajay. You can try to change it in Debugging mode.
    The values are handed over from include LCJWBF5Q (form project_settle_single using)      
    Some customer have also made a modification as a permanent solution.    
    Unfortunately in the standard it is not possible.
    regards Bernhard

  • How to change the jta-data-source for projects in EJB 3

    Hi all,
    Sorry my english! :)
    I'm learning the EJB 3.0 and I'd like to change jta-data-source for projects in JDeveloper 10.1.3.1.
    I explain:
    In the same Application, I have a project with all Entitys and Session Beans. At the moment, the persistence.xml file is there with the jta-data-source tag.
    I make a new project with JUnit (Cactus) for test the EJB's that I'd like jta-data-source reference the test database.
    I make another project, with Servlet/JSP/JSF that use EJB's with interface and I'd like jta-data-source reference another database.
    What kind of changes (workaround) I could make to solve this problem?
    Thanks a lot!
    Luciano

    Hi,
    There are COOM data source which may suits your needs.
    please check data source
    0CO_OM_WBS_6
    0CO_OM_WBS_3
    Base tables are COSP and COSS.
    Check about coom data source, if not suitable then go for custom data source.
    About table cross verify with your source team.
    Thanks

Maybe you are looking for