Impact of the change of a target table of the DB adapter

Hi all
Can he explain the impact of a change to a table (like add or remove a column) which is mentioned in the DB adapter. I'm using oracle 11g soa, do I have to recreate the DB adapter for any changes made to the structure of the table? Any pointer will be a great help.

Kind regards
Kone

The problem is that the base table will be different for the Toplink mappings originally created.

I suggest that you test to see if all your scenarios still work. You can see that, depending on what you're doing, it can still be OK.

Its more likely to work if you add columns to the table base rather than remove columns, I suspect that this will cause its failure.

Instance if you perform an insert, its possible that it will work as it will build an insert (based on the mappings of toplink) without this new column, but keep in mind that you will never be able to map data in the new column.
Also if you make a deletion he seems to be only interested in primary keys, so you can see that it also works always.

For consistency, I'd personally suggest the reconstruction of the adapter.

Tags: Fusion Middleware

Similar Questions

  • ODI 12 c: do I have to reimport the target tables after that I did some clues on them

    Hello

    I created a map after import target tables in my ODI 12 C studio. The mapping is complete and it works without any errors. Now I intend to create some clues that I have an obligation to report. SO, I have to reimport these after creating indexes.

    Thank you

    SM

    Hello

    Here's the thing. The indexes that you created, if you plan to use as a unique index, or as your key to updating ODI you can go ahead and add the template manually in or hit the table again. However, if these indices are purely to make your report more quickly and will have no impact on you data loading then it is pointless to ODI. In the future when you make changes to the table and refresh it in ODI indexes will be added automatically.

    Thank you

    Ajay

  • ODI 12 c: IKM for differential insert and update with a sequence in the target table

    Hello

    I have a map where I fill in a column of my target table using a database sequence. Now my mapping is supposed to load the target gradually table. So I need a revenge for update and incremental insert. Now with this differential IKM it compares all the columns to match all colmuns line to understand, it should be an insert or update. Now, the following code shows that when the ROW_WID is loaded with a sequence of database.

    If NOT EXISTS

    (select 1 from W_LOV_D T

    where T.ROW_WID = S.ROW_WID

    and ((T.CREATED_BY = S.CREATED_BY) or (T.CREATED_BY IS NULL and S.CREATED_BY IS NULL)) and

    ....

    ....

    < the rest of the comparison of columns >

    )

    So when running ODI returns following error

    Caused by: java.sql.SQLSyntaxErrorException: ORA-00904: "S". "" ROW_WID ": invalid identifier

    Please suggest if there is no other IKM I should use or if there is another way around it without changing the code IKM...

    Hi Marc,

    Thanks for your reply.

    I had solved it. The incremental update process inserts all rows from the source table to I$ table that exists in the target table. It does so by the where sql such as mentioned in my questions as

    WHERE THERE is NOT ( . COLUMNS = . COLUMNS)

    Now in the incremental update IKM Oracle to retrieve all the columns it uses the substitution with parameter as TABLE TARGET. Due to this column sequence will in the comparison and the request fails. When I used the IKM SQL incremental update it used INTEGRATION TABLE as parameter table to pick up the columns, as I'd mentioned in the target sequence is run, so it does not get the sequence column.

    Simple answer: to solve this, use incremental update of the SQL IKM.

    Thank you

    SM

  • The logged data is not loaded in the target table in cdc-compatible?

    Hello

    I tried with cdc-simple concept on single table.

    I had loaded, journaled table (only changed records) inserted in the simple target in cdc table. Its working fine.

    When I work on cdc-consistent and logged data are not loaded in the target table

    For this, I used the data model, it has 3 data stores. log the without option of data, its works very well.

    When I am trying to load tables logged in the target table in interface, its running fine.

    To do this, I chose "logged data only.

    Although I have not changed the records in the target table. target table is empty after the executed insterface.

    err1.png

    err4.png

    err2.png

    err3.png

    I chose the real option of insertion in ikm. But the logged data that is not inserted in the target table.

    Please help me.

    Thankin advacnce,

    A.Kavya.

    Hello

    You must EXPAND WINDOW and LOCK SUBSCRIBERS before consuming the CDC data:

    http://docs.Oracle.com/CD/E14571_01/integrate.1111/e12643/data_capture.htm#ODIDG283

    Subsequently, you unlock Subscriber and purge the log.

    Better to put a package to automate the whole thing.

  • Failed to truncate the target table while programming the interface in ODI

    Hi Expertise,

    I developed a scenario in an interface, where I planned keeping the option Truncate as false, right there the data is been going to target without any problems, but when I changed the status of truncate to TRUE, the interface is been run, but the array is not get truncated, rather the data's been loading again to target. (when running manually, the target table is been truncated perfectly) but not in programming.

    Can someone help me in this problem.

    Thank you

    Shakur.

    Have you regenerate the scenario in question since you changed the option Truncate. If you have not the regular job must still run the old code

  • How to MERGE when the target table contains invisible columns?

    Oracle running on Oracle Linux 6.4 12.1.0.2.0 database:

    During his studies of FUSION with invisible columns, I discovered that invisible columns in the target table cannot be read. Workaround seems to be

    MERGE INTO (SELECT <column list> FROM <target table>) AS <alias>
    

    However, the documentation does not seem to allow this. Here are the details.

    Test data

    > CREATE TABLE t_target(
      k1 NUMBER PRIMARY KEY,
      c1 NUMBER,
      i1 NUMBER invisible
    )
    
    table T_TARGET created.
    
    > INSERT INTO t_target (k1,c1,i1)
    SELECT 2, 2, 2 FROM dual
    UNION ALL
    SELECT 3, 3, 3 FROM dual
    UNION ALL
    SELECT 4, 4, 4 FROM dual
    
    3 rows inserted.
    
    > CREATE TABLE t_source(
      k1 NUMBER PRIMARY KEY,
      c1 NUMBER,
      i1 NUMBER invisible
    )
    table T_SOURCE created.
    
    > INSERT INTO t_source (k1,c1,i1)
    SELECT 1, 1, 1 FROM dual
    UNION ALL
    SELECT 2, 2, 9999 FROM dual
    UNION ALL
    SELECT 3, 3, 3 FROM dual
    
    3 rows inserted.
    

    First try

    Please note that I have a WHERE clause in the WHEN MATCHED clause. Its purpose is to avoid the update of a row when data are already correct. The WHERE clause is trying to read the invisible column of the target table.

    > MERGE INTO t_target o
    USING (
      SELECT k1, c1, i1 FROM t_source
    ) n
    ON (o.k1 = n.k1)
    WHEN MATCHED THEN UPDATE SET
      c1=n.c1, i1=n.i1
      WHERE 1 IN (
        decode(o.c1,n.c1,0,1),
        decode(o.i1,n.i1,0,1)
      )
    WHEN NOT MATCHED THEN INSERT
      (k1, c1, i1)
      VALUES(n.k1, n.c1, n.i1)
    ...
    Error at Command Line : 10 Column : 12
    Error report -
    SQL Error: ORA-00904: "O"."I1": invalid identifier
    

    As you can see, I put a subquery after the USING clause so that 'n.i1' would be 'visible', but this is not enough since the 'I1' column in the target table is always invisible.

    Second test

    > MERGE INTO (
      SELECT k1, c1, i1 FROM t_target
    ) o
    USING (
      SELECT k1, c1, i1 FROM t_source
    ) n
    ON (o.k1 = n.k1)
    WHEN MATCHED THEN UPDATE SET
      c1=n.c1, i1=n.i1
      WHERE 1 IN (
        decode(o.c1,n.c1,0,1),
        decode(o.i1,n.i1,0,1)
      )
    WHEN NOT MATCHED THEN INSERT
      (k1, c1, i1)
      VALUES(n.k1, n.c1, n.i1)
    
    2 rows merged.
    

    Here I used a subquery in the INTO clause thus, and it worked.

    Unfortunately, this does not seem to be admitted in the documentation: IN fact refers to a table or a view as schema objects.

    Description of merge.gif follows

    My question is:

    How can I refer to invisible columns in the target table without creating a new object? My workaround using a subquery solution seems to work very well, but can I recommend if it is not documented?

    Can I replace a "inline view" for a view and still be supported?

    During his studies of FUSION with invisible columns, I discovered that invisible columns in the target table cannot be read. Workaround seems to be

    However, the documentation does not seem to allow this. Here are the details.

    Here I used a subquery in the INTO clause thus, and it worked.

    Unfortunately, this does not seem to be admitted in the documentation: IN fact refers to a table or a view as schema objects.

    My question is:

    How can I refer to invisible columns in the target table without creating a new object? My workaround using a subquery solution seems to work very well, but can I recommend if it is not documented?

    Can I replace a "inline view" for a view and still be supported?

    But the documentation DO ALLOWS not only! You use a view - a view online and those that can be changed in a MERGE statement.

    All versions of the doc for FUSION since 9i specifically say this:

    INTO clause

    Use the INTO target clause to specify the table or view you are updating or inserting into. To merge the data in a view, the view must be updated. Please refer to the "Notes on the editable views" for more information.

    Here are the links for the doc. 9i, 10g, 11g and c 12, ALL OF THEM (the last three), except 9i have this EXACT clause above.

    SQL statements: INDICATED to ROLLBACK FALLS, 15 of 19

    http://docs.Oracle.com/CD/B19306_01/server.102/b14200/statements_9016.htm

    http://docs.Oracle.com/CD/B28359_01/server.111/b28286/statements_9016.htm

    https://docs.Oracle.com/database/121/SQLRF/statements_9016.htm

    9i doc does not have this specific quote in the INTO clause section, but it doesn't have that quote a little later:

    Limitation of the update of a view
    • You cannot specify DEFAULT when refreshing a view.
    • You cannot update a column referenced in the ON condition clause.
    merge_insert_clause

    The merge_insert_clause specifies the values to insert into the column of the target table, if the condition of the ON clause is false. If the insert clause is executed, then all insert triggers defined on the target table are activated.

    Restrictions on the merger in a view

    You cannot specify DEFAULT when refreshing a view.

    If your "workaround" isn't really a workaround solution. You SHOULD use an inline view if you need to reference a column "invisible" in the target table, since otherwise, these columns are INVISIBLE!

    My workaround using a subquery solution seems to work very well, but can I recommend if it is not documented?

    You can recomment it because IT IS documented.

  • A target table is in charge of two different sources but the same columns, but a source is one database and another in a flat file.

    We all hope you are doing well.

    I have a business problem to implement in ODI 11 G. It's here. I'm trying to load a target table from two sources that have the same column names. But a source is to the file format and the other is in the Oracle database.

    That's what I think I'll create two mappings in the same interface by using the Union between the sources. But I don't know how the interface would connect to different logical architecture to connect to two different sources.

    Thank you

    SM

    You are on the right track, all in a single interface. Follow these steps

    (1) pull model of your data in the designer of the source file and your table model target to the target pane.

    (2) all relevant columns map

    (3) in the source designer to create a new dataset and choose as the UNION join type (this will create a separate tab in the source designer pane)

    (4) select the new dataset tab in the source designer pane and pull your source oracle table data model in the designer of the source. All columns that are relevant to the target card

    (5) make sure that your staging location is set to a relational technology i.e. in this case the target would be an ideal candidate because it is where the ODI will organize the data from source two files and oracle and perform the UNION before loading to the target

    If you want to watch some pretty screenshots showing the steps above, take a look at http://odiexperts.com/11g-oracle-data-integrator-part-611g-union-minus-intersect/

  • Need to load jobs parallel to the load on the same target table plan

    Hello

    We need loading parallel work on the same target table. We use LKM and IKM in our interfaces on the target.

    I have a questions if run us jobs in parallel on the same target table is executed both the process of creation, insertion and drop tables mixed obtained work and will be causing problems.

    Please guide us recommended to implement on the same parallel load of target

    Concerning

    Naren

    HI Naren,

    Yes, out of the box your (temporary) work tables will be taken upwards and cause a failure in the treatment. Take a look at this post on the parallel of loading in ODI12c https://blogs.oracle.com/dataintegration/entry/odi_12c_parallel_target_table. It also has a link to a solution for ODI11g if you're on this version.

    Kind regards

    Michael Rainey

  • Create a target table by using the model of the ODI

    Hi all

    I am new to ODI. I'm try export table RDBMS for source RDBMS table at target.

    If we create the structure of the target in the trg schema table or we can create using the model fit obi by selecting new data store.

    Owb loading target tables is created and the data will be loaded.

    Pls help me about this.

    Thanks in advance.

    Hello
    You can create it in the two ways.if you create using ODI data store, you must select Create table option target in flow during loading of the target.

  • GET A DATE THE TARGET TABLE MAX

    Hello friends,

    Can someone tell me how to extract the date max of the target table.

    Thank you.

    Azhar

    Sorry why again once you are not able to use the aggregator operator to get a max value. You don't need a group of when taking a max value what from a table, unless otherwise specified

    Try it with a simple table b table card

    table (several itemno)

    table b (number maxitem)

    Use aggregator and don't put anything in the section of owb agg transformation group. Generate the code and take a look

  • delete all, then insert into the target table, two steps in one transaction?

    Hello

    We have the following two steps in one ODI package, it will be managed in a single transaction?

    procedure step 1): remove all of the target table.
    interface in step 2): insert data in the source table in the target table.

    our problem is that step 2 can take some minutes, and then the target table can temporary unusable for end users who try to access it, I'm good?

    Kind regards
    Marijo

    Hello

    It can be managed in a single transaction by selecting IKM as the Append and TRUNCATE/DELETEALL Option command in the FLOW of an interface tab.

    Thanxs
    Malezieux

  • Add records in the target table

    Hi all
    I HAV done an interface for a simple source data transfer to the target. When I run it, the records are stored in the target table. Now, I want to launch the interface (for the same or different source table) and add the records to existing records in the target table.

    Kindly guide me, explaining how shud I do the addition in the target table.

    Thanks in advance.

    Hello

    You can use the IKM control add... it will add records...

    Thank you.

  • Risks and impacts on the changes in the physical and logical structures used in ODI

    What are the risks and impacts on the changes in the physical and logical structures used in ODI?


    I wonder what can be changed and the risks and impacts that may occur changes in the physical and logical structures used in projects of ODI?

    You should not change the name of logic. Because in ODI, each model is connected to a logic diagram.
    You shouldn't be changing technology too because that would need a change to all models and the KMs that have been used in the development of interfaces and procedures, etc.

    Nothing under the physical schema can be changed for example. Connection, user, etc.
    ODI uses the logical schema. And it matches the physical schema in the runtime using contexts.

  • Insert generic value in the target table

    Hi all

    I'm loading of data from source to target table orcle...

    I would like to load one of the columns target with a big generic unique number that does not come from source...

    the number in the target column should be likw...

    35343834393533363533343934323539,
    35343834393533363533343934323540,
    35343834393533363533343934323541,
    35343834393533363533343934323542,
    35343834393533363533343934323543,
    35343834393533363533343934323544

    Concerning

    "" "You're almost there. '"

    Please use capital letters when you access oracle objects.

    < %="odiRef.getObjectName" (« l »,="" « xref_data_sequence »,="" « d »)="" %="">.nextval

    This works...

  • OWB, I need to update the target table with the same field for game/update

    OWb, I try to update the target table with the game and the update on the same ground is this possible. I'm a match merge error indicating that you cannot update and match on the same ground. But in SQl is my selection

    Update table
    define RFID = 0
    where RFID = 1
    and ID_processus = 'TEST '.

    Can HWO I do this in OWB.

    I have check but in the case later (last one) that he warns no error if you can go with it.
    and I tested it it works

    You can check the first case (from where we start) if it has been warned and then try to run.

Maybe you are looking for

  • Windows 7 64 bit drivers for my Pavilion 2235dx g7

    I had to "downgrade" my Windows 7 laptop computer new parents because they found Windows 8 on a laptop to be difficult to use. The problem I have is that the HDMI port does not, as well as 2 USB ports right next to him. When I open the Device Manager

  • Post limit reached massage?

    When I try to respond to the discussions now, it tells me that the post limit is reached, but when I refresh the page I do not get the message.

  • Please I can't find any backup program in my windows xp.

    so, how can I backup my data? and even when I backup using Norton online and try to restore my backup it would not restore my files. There is therefore no backup program I can find and even restore program does not work. What should I do?

  • When I uncheck "read only" on a folder, it will not be checked. Help!

    I moved a file of data to a new partition.  The program, I am running of this partition should write to the folder, but the attribute is "read only." When I right click on the folder and uncheck the 'read only' that will change the attribute and it w

  • Mixture of blackBerry software

    Hello After connecting my BlackBerry Z 10 to my PC (HP Pavilion 8, under Windows7) all my pictures have disappeared. How can I retrieve it: they were taken in Afrika. They are not on my phone and I can't find them on my PC Thank you to help, moreover