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
ViswaIf 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 FagerWhat 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,
JeffIf 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,
RodHi -
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, ChrisRDBAGreetings. 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<String> of the IPageResult returned from IInfoStore.getPageingQuery().
if(getCms().getPathQueryQueries() != null)
numOfQueryPages = getCms().getPathQueryQueries().size();
if(numOfQueryPages > 0)
// Use 30% of progress bar for the following loop.
progressIncrementPerPage = Math.floor(30.0/(double)numOfQueryPages);
for(int queryPageIndex = 0; queryPageIndex < numOfQueryPages; ++queryPageIndex)
// Gets the IInfoObjects returned from the current page query
newInfoObjects = getCms().getPathQueryResultSetPage(queryPageIndex);
numOfReports = newInfoObjects.size();
if(newInfoObjects != null && numOfReports > 0)
progressIncrementPerReport =
Math.round((float)Math.floor(progressIncrementPerPage/(double)numOfReports));
for(int reportIndex = 0; reportIndex < 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 < 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> -
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 SankaranHi 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,
AnnieAnnie:
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,
JoanHi,
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
polakaHi 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
AnilHi 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!
LucianoHi,
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
-
hat I DON'T WANT TO OPEN the window application FROM the Labview VI BUT IN the Labview VI. I think it's possible to do that and to do communicate the OpenGL application with the Labview Interface using an ActiveX but I don't know how. Can someone hel
-
Hi, i developed one report.My Requirement is i have to send that report output to spool and aswell as i have to display the output in the output screen.At present i am using GET_PRINT_PARAMETERS function module. Regards, Kiran Kumar.G.A
-
How many days does CS-MARS retain device logs?
I've been looking through the documentation and the MARS appliance but can't locate how long logs are kept? I know they're purged after a certain amount of time, but was hoping someone could tell me where to look to see if it's configured? I'm curren
-
How to Create JCO Connectionds for ESS processes?
Hello , I had imported Business packages for ESS and now i'am gng to create JCO connections for the corresponding ESS processes.I know where to create them but Can you please tell me what are all the fields i need to fill while creating a jco connect
-
Will Apple ever become entrenched in the Business Workplace?
The post Will Apple ever become entrenched in the Business Workplace? appeared first on PostmanMojo.com, Inc.. Read More This topic first appeared in the Spiceworks Community