Easy replacement of a source datastore
Hi gurus,
Is there an easy way to replace a source datastore by another one with the same structure in an interface ?
Without having to re-do the join, filter and the mapping of target column.
Thanks for your help.
Regards
user1459647 wrote:
Thank you for your quick and precise reply.
Unfortunately, when I delete a source datastore, all the joins/filters involving this datastore disappear.It will happen if your join condition/filter is specified only on 2 tables and 1 of them is getting deleted.
And all the target mappings involving this datastore are set on "Target" instead of "Source" (not a big deal).You can chage the execution area
Is there something to change in my ODI Studio parameters ?I do not think so
I'm using ODI 11.1.1.5 and Windows 7.That should be fine .
You can explore the SYNONYM option also :)
Similar Messages
-
Interface without a source datastore
I have to transform Data from a DBView into an XML (based on an XML schema). On reverse-engineering the XML schema, it generated 4 data stores. For successful generation of an XML file based on this schema, these data stores should be populated.
Of the 4 datastores, I was able to populate one of them using the data from the view. But, in the remaining data stores, there is no source datastore. So, I tried populating the data by hard-coding some values (using Variables in ODI)
So, is it possible to execute an interface w/o a source data store? If possible, how? (I tried hard-coding the fields using ODI Variables. It did not work!! )
If not possible, how do I populate the remaining datastores generated by the XML schema?-11 : 37000 : java.sql.SQLException: Unexpected token: SELECT in statement [insert into DIFF__I$_FILE_ ( ) select from where (1=1)]
java.sql.SQLException: Unexpected token: SELECT in statement [insert into DIFF__I$_FILE_ ( ) select from where (1=1)]
at org.xmldb.jdbc.jdbcUtil.throwError(jdbcUtil.java)
at org.xmldb.jdbc.jdbcPreparedStatement.<init>(jdbcPreparedStatement.java)
at org.xmldb.jdbc.jdbcConnection.prepareStatement(jdbcConnection.java)
at com.sunopsis.jdbc.driver.xml.SnpsXmlConnection.prepareStatement(SnpsXmlConnection.java)
at com.sunopsis.sql.SnpsQuery.a(SnpsQuery.java)
at com.sunopsis.sql.SnpsQuery.a(SnpsQuery.java)
at com.sunopsis.sql.SnpsQuery.updateExecStatement(SnpsQuery.java)
at com.sunopsis.sql.SnpsQuery.executeUpdate(SnpsQuery.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execStdOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt(SnpSessTaskSqlI.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
at com.sunopsis.dwg.cmd.e.i(e.java)
at com.sunopsis.dwg.cmd.g.y(g.java)
at com.sunopsis.dwg.cmd.e.run(e.java)
at java.lang.Thread.run(Thread.java:595)
In the above mentioned error, the data which I assigned using the ODI variables did not reflect in the query. -
Hi all,
We have 3 interfaces where we perform a join between two tables.
One of the tables is common to the three interfaces and the other tables are different for the 3 interfaces but have the same columns (only the name is different).
Would it possible to have only one interface where one of the source datastore of the join is variable? and how we could do it?
Regards and thanksHi F Amroes,
Yes, Its possible with one interface and varable datastore ( Datastore neame should be variable )
Logic :-
Create datastore with varible name (if the table structure is same .
then use this DataStore in interface. refresh/assign the value to ur variable ( table name / datastore name)
Then call ur interface.
Also u can use the Looping concept of ODI to loop 3 times .
Please reffer my old threads in this forum for the looping logic / please reffer the below URL
http://odiexperts.com/?p=531
Regards,
Rathish A M -
My 5 year old Mac book won't turn on. It seems to be holding a charge. In the past 3 months I've replaced the power source, battery, & had a full diagnostic run on it.
Tanks dominic23, do you think that the dead battery can affect the macbook performance? I do alot of video work, and since the battery died i cannot do a smooth preview of my videos in premiere cs6, seems like a memory problem but it worked fine before the battery issue.
Regards -
Constraints in target or source datastore?
Hi,
When I put a constraint (condition) in my source datastore, the constraint works fine when I just test it by clicking on the table and clicking "Control->Errors". All the errors are shown in a list. But when I run my scenario using the same datastore/table, my target db picks up all lines even the ones that "should" have failed.
When I read the ODI Users Guide i can see a note on page 57 stating the following:
"Only the constraints declared on the target datastore in its model appear in the constraints list."
So can someone please explain to me why you would put constraints in the source datastore if they cant be used in a scenario/interface?
Best regards
MThank you for your answers.
I still not quite sure how I would inplement my Scenario/Interface the way I would like to.
What I am trying to do is to extract data from table A to table B and put error data in an error table. In my case, I would like to extract customers from table A to table B and put all error rows where customer id < 0 in a separate table and put all correct customers, i.e. with customer id > 0 in my target source.
So I tried to put the constraint in the source (which I now know is for static control only) but I have now also put the same constraint in the target but still I get ALL rows put in my target when I execute the interface. Can this be accomplished through constraints or do I need to put a filter on Diagram to do this?
Best regards
M -
To Find out Source datastore in ODI interfaces using SNP tables
Hi,
Could you please let me know how to find out Source datastore(s) in ODI interfaces using SNP tables ?
Regards,
RashmikPlease use below query...Just pass the interface name..
SELECT C.TABLE_NAME AS "Target Table Name",
A.COL_NAME AS "Target Field Name",
Wm_Concat(G.SOURCE_DT) AS "Target Data Type",
Wm_Concat(G.LONGC) AS "Target Data Length",
Wm_Concat(TXT) AS "Transformation Rule",
Wm_Concat(DISTINCT F.TABLE_NAME) AS "Source Table Name",
Wm_Concat(D.COL_NAME) AS "Source Field Name",
Wm_Concat(D.SOURCE_DT) AS "Source Data Type",
Wm_Concat(D.LONGC) AS "Source Data Length"
FROM
SNP_POP_COL A JOIN SNP_TXT_CROSSR B ON A.I_TXT_MAP=B.I_TXT
JOIN SNP_POP C ON A.I_POP=C.I_POP
JOIN SNP_TXT E ON A.I_TXT_MAP=E.I_TXT AND B.I_TXT=E.I_TXT
LEFT OUTER JOIN SNP_COL D ON B.I_COL=D.I_COL
LEFT OUTER JOIN SNP_TABLE F ON F.I_TABLE= D.I_TABLE
LEFT JOIN SNP_COL G ON A.I_COL=G.I_COL
WHERE POP_NAME = 'XXXXXXX'
GROUP BY C.TABLE_NAME,A.COL_NAME ORDER BY 1
Edited by: KaushikPatel on Apr 18, 2013 6:52 AM -
Cdc on multiple joined source datastores
Hi gurus,
There are multiple source datastores and one target datastore in my interface.All of source datastores will be modified by ct application in future,How to enable cdc on multiple source datastores ?Is there any "thumb of rule" for cdc of multiple joined source datastores?
Source: DB2/AS400
Target: SQL SERVER 2000
Thanks
nanHi nan,
As i wasn't tried CDC on the source and target you specified,to give you a hint,
For achieving CDC on multiple data stores, you can use JKM Consistent mode. This will make sure that all your data stores within the particular model will be CDC'ed and PK and FK relations will be maintained.
Thanks,
G -
G72 B63NR battery needs replacement - looking for source suggestions
Original (MU06) battery finally gave it up.
Looking for 'best cost/quality/mAhr rating' replacement source. Rarely use it on battery alone so bigger one not needed.
From the chart Provost posted link to, it appears the #'s after G72 don't mean much in this case.
Sorry but HP price is way too high for what it is.
Anyone ever deal with 'thinkmall2011' from ebay? Showing a 5200mAhr / 6 cell / 10.8v for under $15
Any & all help appreciated.The eBay "knockoff" batteries all come from similar sources. They are made in sweatshops in the Far East. Generally, they are good batteries perfectly adequate for older laptops that don't leave the desk very much. What is the worst that happens if it is bad at $15? The better ones have a 3 year warranty as does the seller you ask about, but hardly anyone ever makes a claim because it is easier to just buy another one at that price than to pay return shipping. If you look at all the eBay auctions you will notice that all the pictures and text are very similar. In other words, there seems to be a "Chinese laptop battery" consortium of some sort out there. I do buy these frequently when the situation calls for it and very, very rarely have a problem. I look for the best consistent feedback and a high score. I say go for it.
If this is "the Answer" please click "Accept as Solution" to help others find it. -
Dynamically choosing source datastore column from variable
Hi Everybody.
I have a source table which contains 12 columns - one for each month of data. I want to load the columns as rows in the target table. For example:
Source Table:
ACCNO M01 M02 M03 M04 M05 M06 M07 M08 M09 M10 M11 M12
00001 1 2 3 4 5 6 7 8 9 10 11 12
00002 13 14 15 16 17 18 19 20 21 22 23 24
Target Table:
ACCNO Month Value
00001 JAN 1
00002 FEB 2
I am thinking of constructing a package that will loop 12 times - in each iteration it will change the interface mapping column to the desired one.
Seeking your wise suggestions and solutions.Hi,
Hi,
From the example its not clear what you are looking for ....(can you please give some more data in your output example)
I guess the below is one of the sample which you are trying for ...
INPUT:-
accno|m01|m02|m03
100|1|2|3
200|10|20|30
OUTPUT :-
accno|mon|Value
100|JAN|1
100|FEB|2
100|MAR|3
200|JAN|10
200|FEB|20
200|MAR|30
If yes :-
Create a table/View
create table test (Mon varchar(20) )
insert into test values('JAN')
insert into test values('FEB')
insert into test values('MAR') ...
In interface level - In source tab join the main table and test table (inner join)
Mapping (taregt):-
ACCNO = ACCNO
Month = MON (from test table)
Value =
case when Mon = 'JAN' then M01
when Mon = 'FEB' then M02
when Mon = 'MAR' then M03 END (include all the mon .....)
Regards,
Rathish -
New source system for HR extractors - easy way to change source system?
Hi
Our HR module is going to be seperated from the ECC module and thereby placed on a new server and have its own source system.
In BI we have to handle this as well so that all 7.0 transformations and 3.5 transferrules etc. have to be mapped to the new HR source system. It there a smart way to do that and how would you do it?
Thanks and kind regards,
TorbenHi Dhanjayan
Thanks for your reply.
That would be an option to collect all source system dependent objects in a transport, however by doing that we will also collect objects for all the other areas than HR and it will therefore be a huge task to remove non HR related objects. -
Easy way to protect source code from hackers?
I did a search and couldn't come up with an answer.
I added a password script for clients on my site, but I would like to be able to (inexpensively!) protect my code from hackers so they can't view passwords and usernames.
Any one know of a good place to check?
Thanks,
JimThe other methods are like putting a No Trespassing
sign on your door, hardly secure.
I AGREE. That is why I said it was a "fast fix" and I also said, "However if someone disabled javascript, they could still view your source."
Metaphorically
speaking if you want a vault with a moat get MySQL if
you want to keep your kids inside the playroom by
means of a plastic barrier then go with
Javascript/.htpasswd methods mentioned by other
inexperienced users that are only looking for a
"real fast fix".
.htpasswd is hardly the equivalent of the javascript method.
I am not looking for any fix, thanks. And I was just making suggestions, same as you.
I am not an inexperienced iWeb user. I am inexperienced with MySQL and PHP. Lucky for me, this is the iWeb forum.
If you do not think your photos are highly classified
information (or something) then you might want to
re-evaluate your professional priorities.
They are probably copyrighted, they are personal, maybe they aren't for the public eye, but they are not exactly confidential. The OP said he wanted to protect the passwords in the source code. I offered two ways to do this.
I'm sure
you do care about the security of your photos online
that's why iWebFAQ is defending your position on the
security issue since it seems like it is not that big
of a deal for some novice users that are simply
looking for kudos.
There you go, talking in third person again...
I am not looking for kudos. In fact, I challenge you, Jasper, to find a thread where I am asking for thanks or points or stars or $5 donations or whatever. Go for it. You won't find one.
Remember if you are Publishing to .mac you can set up
your own Password Protection in iWeb as Old Toad
first mentioned. This method is much more secure
than the Javascript method later mentioned in an
attempt to join this discussion.
If you need any more help setting up MySQL feel free
to contact iWebFAQ.
And for just a $5 suggested donation, you can find out all about how hackers operate. -
Problem interface having only target datastore without source
Hi,
I have created an interface,there is no source my target is oracle table.
This table is having columns like..
current_date,load_cycle_id etc.
For current date in mapping i wrote 'select sysdate from dual' or 'sysdate'
For load_cycle_id = database sequence is mapped like
<schemaname>.<seq_name>.nextval
But it is not working properly,
In the operator select query doesn't have the from clause table value because of this it is resulting in an error.I manually added dual in that it is working.
plz let me know how to create interface without source datastore and necessary setting required.
<schemaname>.<seq_name>.currval it is also not working,it is giving error like
"not defined in this session"
plz let me know how to solve these problems
Thanks,
Jai
and in one more interface if i want to use current value of the sequence i wroteI have created file_id_seq in database.
In my first interface i have only target datastore.I have two fileds,like
Load_cycle_id: Mapping--> <schema>.<seq_name>.nextval
log_date : Mapping--> sysdate
when I saw the query generated by the Odi in operator description tab
selec ..
from <table name is missing>
in from clause i manually added dual ,and restarted the session then it was done.
Its problem with query generated by the ODI.
I changed in mappin as "select sysdate from dual" like that still i didn't get.
After loading this interface by manually editing ,I created one more interface,
in that one more filed is there which requires current value of the sequence used in above interface.In mapping i wrote <schema>.<seq_name>.curr_val Its resulting in an error like "sequence current value is not defined in this current session"
plz help me
Jai -
Best way to replace source footage
I have about an hour of continuous source footage that I used to create a complex 15min edited version in Final Cut Pro X v10.0.5. After this project was already completed, I received a better quality version of the original 1 hour of source footage.
What would be the "best Final Cut Pro X way" to replace the original source footage with the higher quality new footage, without having to redo my complex edit?
Unfortunately, my new footage is slightly different frame rate, dimensions, and quality than the original, and also not exactly in sync.
I imagine this is the type of thing that professional editors must contend with all the time, but I'm not finding an efficient way to do this in Final Cut Pro X.
I've unsuccessfully explored three options:
1.) using the (new since v10.0.3) Relink feature
This is the workflow that seems most similar to those on other editors, however in Final Cut Pro X is seems this only works if the new media file is nearly identical to the old one. It explicitly states that it doesn't work with footage of different frame rates. And I also didn't see any way to sync to the old footage, if the new is slightly different length.
2.) importing as a new clip and syncing in the Event Browser
I see that I can sync two different clips in the Event Browser to create a compound clip, but how does this help me easily replace my already edited footage (which was not the new compound clip) with the new?
3.) using the (new since v10.0.3) Multicam editing
I know I can import the new source footage and sync to the old using Multicam editing, but again, how does this help me replace what was already edited from a non-multicam clip?
Suggestions?
Many thanks for any tips.We also had a long debate on the same issue.
We decided to try the Soft-Code values instead of the Hard Code.
1. Create some custom tables which can hold the constant values. Like: We have some special processing for the normal sales Order ZOR1 and different logic for the Returns order ZRE1.
So, we have created
One table for the Group - NORM, RETN
One table for the Sales Order & Group relation.
NORM - ZOR1
NORM - ZOR2...
RETN - ZRE1
RETN - ZRE2
Create a View Cluster to maintain these tables easily.
2. Create a Classes which can fatch this data
Like: VALID_SALES_ORDER_TYPE
Definition-
Importing :
Sales Order type
Group
Exporting
Valid
Implementation-
Get the value from the table Sales Order & group relation
This class contains some other methods also, like VALID_GROUPS_4_SO, VALID_SO_4_GROUP etc.
Advantage: You can easily maitain a new Hardcoded value in the SM30
Disadvantage: Lots of coding
Another Approch:
You can create one Global class for Constants. You can maintain all your constants in that global class and use them in your coding. One main advantage would be, you can easily do the where used list on each individual constant.
Regards,
Naimesh Patel -
Hello experts,
I created an interface where a xml file is reverse engineered as a source datastore. The data from the xml gets pumped into an oracle target db. This all goes well.
I am creating a scenario where I am getting a xml file from a ftp server on a daily basis (with agent). This new xml file has the same structure as the one already used in the interface. The question is: how can I update the data of the xml datastore?
I tried replacing the original xml file but this doesn't work and cdc doesn't seem to apply here, I have been searching for quite a while now.
Thanks a lot!
yvesHi,
See if this helps
XML to Oracle interface has same insert count regardless of XML input file
Thanks,
Sutirtha -
Newbie XML data source questions
Post Author: tel
CA Forum: Data Connectivity and SQL
I'm trying to use the XML data source via http and i'm running into a couple of issues.
First, we have separate environments for development, QA, and production. Each environment will have a seperate URL to retrieve the XML for the report. I would like to use the same report design to access each environment. Is there a way to update the URL in the data source (or replace the data source with one that has the correct URL) without having to re-add the fields to the report design?
The second issue is similar. I can't seem to get Crystal to recognize changes in the XML format (new fields for example) without having to delete and recreate the data source (which automatically removes all the associated fields from the report). Is there a way around this, or again, a way of re-creating the data source without it removing the existing fields in the report?
Thanks,Post Author: rosariosanto
CA Forum: Data Connectivity and SQL
I have the same problem. Where can I find help about setting the data source when connecting to a web service. Since the hostname is hardcoded in the report, it is necessary to update it in the code.
Maybe you are looking for
-
Error in accounting interface -no accounting document generated
Hi All, For a billing document the accounting document is not generated. The posting status is hsown as "error in accounting interface". Also the billing date(23rd May) is less than the created on date(2nd June). I know when we go to the change mode
-
New Field at Query execution time.
Dear All, I need some help in Bex User Exit. My requirement is that, I require a new field in Bex report and that field is Flag(Change Flag). the condition is that IF START DATE (CHAR) IS CURRENT MONTH (QUERY EXECUTION MONTH) THEN FLAG SHOUD BE 'Y' E
-
SQL Native Client 11 (ODBC) - SQL Server 2012 - MS DTC - Transaction Promotion
Hi and thanks for any help in advance, Does the SQL Native Client (ODBC) resource manager support automatic transaction promotion? I don't see anyway to get this to work using the ODBC API or the MS DTC API. I have a connection that enlisted into a
-
How do I get the app my friend gifted me?
He said he spent his last dollar on it. He lost a dollar and we have no idea where the app is, was i suppose to get an email or notification about recieving the app?
-
Hi I am using sql loader to load data in a table, the field terminator is '|' , there are multi line datas for one field, i want to specify the record delimiter. it considers new line as one record. how to specify the record delimiter Thanks in advan