ODI11g Integration Step:  Insert flow into I$ Table failure: TNS: error

The project/interfaces have been working successfully for quite sometime. After a server reboot, they are all failing on the Integration step
Insert flow into I$ Table failure with:
ODI-1228: Task xxxxx(Integration) fails on the target ORACLE connection xxxxxx.
Caused By: java.sql.SQLException: ORA-12154: TNS:could not resolve the connect identifier specified
I have verified the topology and the dblink/Data Server is what resides in the tnsnames.ora file (which also has not changed).
Any ideas what else to look at, all topology connection tests are successful.
Thank you.

All connections were testing successfull. The problem ended up being with one of the database links, after the server reboot there were multiple tnsnames and the environment was not pointing to the correct one. After removing all tnsnames except for the correct, the problem was fixed.
Thank you for your response.

Similar Messages

  • Error:Insert flow into I$ table

    Hi,
    While implementing scd2 type,I am getting an error"Insert flow into I$ table"
    ODI-1228: Task int1 (Integration) fails on the target ORACLE connection twitter.
    Caused By: java.sql.SQLSyntaxErrorException: ORA-00936: missing expression.
    Please help!!
    Thanks.

    Hi,
    code generated is:
    insert /*+ APPEND */ into ODIWR.I$_EMP_SCD_TARGET
         ENAME,
         EMAIL,
         PHNUM,
         SALARY,
         JOB_ID,
         START_DATE,
         IND_UPDATE
    select *
    from (
         select     
              EMP_SCD_SRC.FIRST_NAME     ENAME,
         EMP_SCD_SRC.EMAIL     EMAIL,
         EMP_SCD_SRC.PHONE_NUMBER     PHNUM,
         EMP_SCD_SRC.SALARY     SALARY,
         EMP_SCD_SRC.JOB_ID     JOB_ID,
              SYSDATE     START_DATE,
         'I' IND_UPDATE
         from     ODIWR.EMP_SCD_SRC EMP_SCD_SRC
         where     (1=1)
    ) S
    where NOT EXISTS (
         select 'x'
         from     ODIWR.EMP_SCD_TARGET T
         where     
         and     ((S.ENAME = T.ENAME) or (S.ENAME IS NULL and T.ENAME IS NULL))
              and     ((S.EMAIL = T.EMAIL) or (S.EMAIL IS NULL and T.EMAIL IS NULL))
              and     ((S.PHNUM = T.PHNUM) or (S.PHNUM IS NULL and T.PHNUM IS NULL))
              and     ((S.SALARY = T.SALARY) or (S.SALARY IS NULL and T.SALARY IS NULL))
              and     ((S.JOB_ID = T.JOB_ID) or (S.JOB_ID IS NULL and T.JOB_ID IS NULL))
         and     CURRENT_FLAG     = 1
         and     END_DATE     = to_date ('01-01-2400', 'mm-dd-yyyy')
    Ikm used is IKM Oracle Slowly Changing Dimension

  • Insert data into a table without identity column

    Hi,
    I need to insert data into a table using data flow task. Unfortunately this table's priamry key column (integer column) is not identity column.  I am looking a way to get the primary key value for the new records. Please advice. Thanks

    Phil has a great post on generating surrogate keys in SSIS: http://www.ssistalk.com/2007/02/20/generating-surrogate-keys/

  • How to insert data into a table only when data has changed its value (when compared to the previous inserted value)

    I wish to insert data into a table only when the value of the inserted data has changed. Thus, in a time series, if the value of the data at time, t-1, is 206 then if the data to be inserted at time t is 206, then it is skipped (not entered).
    If the value of the data at time t+1 is 206, it is skipped also; until the value changes, so if the value at t+1 was 205, then that would be inserted, and if at time t+2 the data is 206, it would be inserted too.
    What is the best way to do it without increasing overheads?

    This view works:
    SELECT
    i.IDNO,i.[Date],i.[Level]
    FROM
    mytable i
    INNER
    JOIN mytable
    d
    ON
    d.IDNO
    = i.IDNO-1
    WHERE
    i.[Level]
    <> d.[Level]
    on this mytable below.  A trigger could be quite useful here although I am cautious using them. However I wish to avoid the overhead by not having a temp table (which could be sizable).  mytable below
    should give 3 lines. The IDNO is an identity column.
    IDNO
    Item
    Date
    Level
    1
    X24
    12/23/13 10:41
    22996
    2
    X24
    12/23/13 10:41
    22996
    3
    X24
    12/23/13 9:21
    23256
    4
    X24
    12/23/13 9:21
    23256
    5
    X24
    12/23/13 9:22
    23256
    6
    X24
    12/23/13 9:22
    23256
    7
    X24
    12/23/13 9:22
    22916

  • How to insert data into a table from an xml document

    using the XmlSql Utility, how do I insert data into a table from an xml document, using the sqlplus prompt.
    if i use the xmlgen.insertXML(....)
    requires a CLOB file, which i dont have, only the xml doc.
    Cant i insert directly from the doc to the table?
    the xmlgen examples I have seen first convert a table to a CLOB xmlString and then insert it into another table.
    Isnt there any other way?

    Your question is little perplexing.
    If you're using XML SQL Utility from
    the commandline, just use putXML.
    java OracleXML putXML
    null

  • Inserting Data into nested table

    I am exploring the differences between OBJECT & RECORD.
    As i am still in process of learning, I found that both are structures which basically groups elements of different datatypes or columns of different datatypes, one is used in SQL and other is used in PL/SQL, please correct me if I am wrong in my understanding.
    Below i am trying to insert data into an table of type object but i am unsuccessful can you please help.
    CREATE OR REPLACE type sam as OBJECT
    v1 NUMBER,
    v2 VARCHAR2(20 CHAR)
    ---Nested Table---
    create or replace type t_sam as table of sam;
    --Inserting data----
    insert into table(t_sam) values(sam(10,'Dsouza'));
    Error Message:
    Error starting at line 22 in command:
    insert into table(t_sam) values(sam(10,'Dsouza'))
    Error at Command Line:22 Column:13
    Error report:
    SQL Error: ORA-00903: invalid table name
    00903. 00000 -  "invalid table name"
    *Cause:   
    *Action:

    Ariean wrote:
    So only purpose of equivalent SQL types concept of nested tables is to use them as one of the data types while defining an actual table?
    Sort of - you can definitely use them for more than just "defining an actual table". (I'm fairly certain you could pass a nested table into a procedure, for example - try it, though - I'm not 100% sure on that - it just "makes sense". If you can define a type, you can use it, pass it around, whatever.).
    Ariean wrote:
    And that nested table could be a record in SQL or an Object in PLSQL or just simple datatype(number,varchar etc)?
    Nested tables are just like any other custom data type. You can create a nested table of other data types. You can create a custom data type of nested tables.
    It could get stupidly .. er, stupid O_0
    CREATE TYPE o_myobj1 AS object ( id1   number, cdate1  date );
    CREATE TYPE t_mytype1 AS table of o_myobj1;
    CREATE TYPE o_myobj2 AS object ( id2   number,  dumb  t_mytype1 );
    CREATE TYPE t_dumber AS table of o_myobj2;
    O_0
    Ok, my brain's starting to hurt - I hope you get the idea
    Ariean wrote:
    Secondly is my understanding correct about OBJECT & RECORD?
    I can't think of any benefit of describing it another way.

  • Need to insert rows into 100 tables at a time

    hi there,
    below is our script for creation of 100 tables...
    we need a plsql script, to insert rows into 100 tables at a single time...
    please help us...vey urgent...
    DECLARE
    counter NUMBER;
    sql_string VARCHAR2(2000);
    BEGIN FOR counter IN 1..100 LOOP sql_string := 'CREATE TABLE emp_table'||counter||'
    (id integer primary key, col_a VARCHAR2(42),col_b date,col_c number,col_d varchar2(20),col_e varchar2(20),
    col_f varchar2(20),col_g varchar2(20),col_h date,col_i varchar2(20),col_j varchar2(20),col_k date)';
    EXECUTE IMMEDIATE sql_string;
    END LOOP;
    END;
    /

    hi,
    below is our procedure and the error we are getting...
    Name Null? Type
    ID VARCHAR2(10)
    COL_A VARCHAR2(10)
    COL_B VARCHAR2(10)
    COL_C VARCHAR2(10)
    COL_D VARCHAR2(10)
    COL_E VARCHAR2(10)
    COL_F VARCHAR2(10)
    COL_G VARCHAR2(10)
    COL_H VARCHAR2(10)
    COL_J DATE
    DECLARE
    counter NUMBER;
    sql_string VARCHAR2(4000);
    BEGIN FOR counter IN 1..100 LOOP sql_string := 'CREATE TABLE emp_a'||counter||'
    (id varchar2(10), col_a varchar2(10), col_b varchar2(10), col_c varchar2(10), col_d varchar2(10), col_e varchar2(10),
    col_f varchar2(10), col_g varchar2(10), col_h varchar2(10), col_j date)';
    EXECUTE IMMEDIATE sql_string;
    END LOOP;
    END;
    DECLARE
    counter NUMBER;
    sql_string VARCHAR2 (2000);
    BEGIN
    FOR OuterCounter IN 1 .. 100 LOOP --- table prefix in which it is to be inserted
    FOR InnerCounter IN 1 .. 100 LOOP --- records to be inserted
    sql_string := 'INSERT INTO emp_a' || Outercounter || ' (id, col_a, col_b, col_c, col_d, col_e, col_f, col_g, col_h, col_j)
    VALUES ('
    || InnerCounter || ', to_char( ''col_a''' || innercounter || '),'
    || InnerCounter || ', to_char( ''col_d''' || innercounter || '),'
    || ', to_char( ''col_e''' || innercounter || '),'
    || ', to_char( ''col_f''' || innercounter || '),'
    || ', to_char( ''col_g''' || innercounter || '),'
    || ', to_char( ''col_h''' || innercounter || '),'
    || ', to_char( ''col_j''' || innercounter || '), SYSDATE)';
    EXECUTE IMMEDIATE sql_string;
    END LOOP;
    END LOOP;
    END;
    DECLARE
    ERROR at line 1:
    ORA-00907: missing right parenthesis
    ORA-06512: at line 17
    please check the procedure and write the correct one...

  • How do I run a database procedure that inserts data into a table from withi

    How do I run a database procedure that inserts data into a table from within a Crystal report?
    I'm using CR 2008 with an Oracle 10i database containing a number of database tables, procedures and packages that provide the data for the reports I'm developing for my department.  However, I'd like to know when a particular report is run and by whom.  To do this I have created a database table called Report_Log and an associated procedure called prc_Insert_Entry that inserts a new line in the table each time it's called.  The procedure has 2 imput parameters (Report_Name & Username), the report name is just text and I'd like the username to be the account name of the person logged onto the PC.  How can I call this procedure from within a report when it's run and provide it with the 2 parameters?  I know the procedure works, I just can't figure out how to call it from with a report.
    I'd be grateful for any help.
    Colin

    Hi Colin, 
    Just so I'm clear about what you want: 
    You have a Stored procedure in your report.  When the report runs, you want that same procedure to write to a table called Report_Log. 
    If this is what you want the simple answer is cannot be done.  Crystal's fundamental prupose is to read only, not write.  That being said, there are ways around this. 
    One way is to have a trigger in your database that updates the Report_Log table when the Stored Procedure is executed.  This would be the most efficient.
    The other way would be to have an application run the report and manage the entry. 
    Good luck,
    Brian

  • Inserting records into a table with all caps

    Hello
    I have a procedure that inserts records into a table. How do I ensure that the text values inserted are recorded all capital letters into the table?
    Thanks.

    You can use UPPER(..) function in your insert statement, so that values are converted to UPPER, before insert.
    If you want to check at table level, you can achieve that by writting a before insert trigger and in that trigger check
    IF UPPER(:new.<col>) != :new.<col> THEN
    RAISE_APPLICATION_ERROR(-20101,'Error: Not all values are in upper case')
    END IF;

  • Inserting rows into a table

    Hi,
    I want to insert values into a table 'Reasons'.
    The table 'Reason' has 5 columns
    out of 5 two columns has static data say
    column A value 'A'
    column E value sysdate
    But in the other three columns the vlues are repeating and as follows.
    Column B all rows of column x from table B
    Column C all rows of column y from table C
    Column D list of values as (ONE,TWO,THREE,FOUR)
    Please Help
    Thanks
    Rohit Taneja

    create table tableb(id number,x varchar2(20));
    insert into tableb values(1,'APPLE');
    insert into tableb values(2,'BANANA');
    insert into tableb values(3,'MANGO');
    create table tablec(id number,y varchar2(20));
    insert into tablec values(1,'ROHIT1');
    insert into tablec values(2,'ROHIT2');
    insert into tablec values(3,'ROHIT3');
    insert into tablec values(4,'ROHIT4');
    select 'A' AS COL_A, d.X AS COL_B,d.Y AS COL_C,
    to_char(to_date(ROW_NUMBER() OVER(PARTITION BY X,y ORDER BY X,Y),'YYYY'),'YYYYSP') AS COL_D,SYSDATE
    FROM ( select a.id , a.x X, b.y Y  from tableb a,tablec b , tablec e order by a.x) d
    ORDER BY d.X,d.Y
    C COL_B                COL_C                COL_D                                      SYSDATE
    A APPLE                ROHIT1               ONE                                        30-SEP-02
    A APPLE                ROHIT1               TWO                                        30-SEP-02
    A APPLE                ROHIT1               THREE                                      30-SEP-02
    A APPLE                ROHIT1               FOUR                                       30-SEP-02
    A APPLE                ROHIT2               ONE                                        30-SEP-02
    A APPLE                ROHIT2               TWO                                        30-SEP-02
    A APPLE                ROHIT2               THREE                                      30-SEP-02
    A APPLE                ROHIT2               FOUR                                       30-SEP-02
    A APPLE                ROHIT3               ONE                                        30-SEP-02
    A APPLE                ROHIT3               TWO                                        30-SEP-02
    A APPLE                ROHIT3               THREE                                      30-SEP-02
    A APPLE                ROHIT3               FOUR                                       30-SEP-02
    A APPLE                ROHIT4               ONE                                        30-SEP-02
    A APPLE                ROHIT4               TWO                                        30-SEP-02
    A APPLE                ROHIT4               THREE                                      30-SEP-02
    A APPLE                ROHIT4               FOUR                                       30-SEP-02
    A BANANA               ROHIT1               ONE                                        30-SEP-02
    A BANANA               ROHIT1               TWO                                        30-SEP-02
    A BANANA               ROHIT1               THREE                                      30-SEP-02
    A BANANA               ROHIT1               FOUR                                       30-SEP-02
    A BANANA               ROHIT2               ONE                                        30-SEP-02
    A BANANA               ROHIT2               TWO                                        30-SEP-02
    A BANANA               ROHIT2               THREE                                      30-SEP-02
    A BANANA               ROHIT2               FOUR                                       30-SEP-02
    A BANANA               ROHIT3               ONE                                        30-SEP-02
    A BANANA               ROHIT3               TWO                                        30-SEP-02
    A BANANA               ROHIT3               THREE                                      30-SEP-02
    A BANANA               ROHIT3               FOUR                                       30-SEP-02
    A BANANA               ROHIT4               ONE                                        30-SEP-02
    A BANANA               ROHIT4               TWO                                        30-SEP-02
    A BANANA               ROHIT4               THREE                                      30-SEP-02
    A BANANA               ROHIT4               FOUR                                       30-SEP-02
    A MANGO                ROHIT1               ONE                                        30-SEP-02
    A MANGO                ROHIT1               TWO                                        30-SEP-02
    A MANGO                ROHIT1               THREE                                      30-SEP-02
    A MANGO                ROHIT1               FOUR                                       30-SEP-02
    A MANGO                ROHIT2               ONE                                        30-SEP-02
    A MANGO                ROHIT2               TWO                                        30-SEP-02
    A MANGO                ROHIT2               THREE                                      30-SEP-02
    A MANGO                ROHIT2               FOUR                                       30-SEP-02
    A MANGO                ROHIT3               ONE                                        30-SEP-02
    A MANGO                ROHIT3               TWO                                        30-SEP-02
    A MANGO                ROHIT3               THREE                                      30-SEP-02
    A MANGO                ROHIT3               FOUR                                       30-SEP-02
    A MANGO                ROHIT4               ONE                                        30-SEP-02
    A MANGO                ROHIT4               TWO                                        30-SEP-02
    A MANGO                ROHIT4               THREE                                      30-SEP-02
    A MANGO                ROHIT4               FOUR                                       30-SEP-02
    48 rows selected.hope this is helpfull
    cheers
    prakash

  • Help in inserting rows into a table

    I have a table called acct_fact,
    I need to insert rows in the table using a script but the problem is there's a column called seq_nbr which has random seq nbr of 14character length like 'ZWX98MGD9MVAD6J','ZWX98MG67RVAD6J' etc.,
    While inserting rows I need to generate such seq_nbr for those columns and insert rows into the table, can I use any such mechanism in my insert query to insert such random nbr's while inserting rows into a table.
    If so please suggest me

    Hi Peter,
    Thankyou for the quick reply:)
    can you suggest me how to implement it here in my script snippet:
    while read var_acct_nbr
    do
    echo "update acct_attr set acct_attr_exp_dt ='$ExpDate' where Acct_Attr_Value_Text='15' and acct_attr_exp_dt is null and person_id='LDCarrBillAgrm' and acct_nbr='$var_acct_nbr' ;" >> ./$DirectoryName/SQLQuery_$TimeStamp.sql
    echo "insert into acct_fact values ('$var_acct_nbr','$ExpDate','$ExpTime','*seq_nbr*','N','ProjTereza','Remoção de acordo d; data de expiração: $ExpDate',null,'1','LDE',null);" >> ./$DirectoryName/SQLQuery_$TimeStamp.sql
    done < ./$DirectoryName/ExpireAccts_$TimeStamp.LOG
    the script takes each acct_nbr nbr form a input file and fires an insert statement.
    The one in bold is the column where such sequence need to be inserted.can you help me in implementing the way you suggested in my script i.e., insert statement
    Thanks in Advance:)
    Edited by: rkrish on Jun 27, 2012 3:04 AM

  • Error while inserting data into a table.

    Hi All,
      I created a table.While inserting data into the table i am getting an error.Its telling "Create data Processing Function Module".Can any one help me regarding this?
    Thanx in advance
    anirudh

    Hi Anirudh,
      Seems there is already an entry in the Table with the same Primary Key.
    INSERT Statement will give short dump if you try to insert data with same key.
    Why dont you use MODIFY statement to achieve the same.
    Reward points if this Helps.
    Manish

  • Its very urgent:how to insert data into database tables

    Hi All,
    I am very new to oaf.
    I have one requirement data insert into database tables.
    here createPG having data that data insert into one custom table.
    but i dont know how to insert data into database tables.
    i wrote the code in am,co as follows.
    in am i wrote the code:
    public void NewoperationManagerLogic()
    ManagerCustomTableVOImpl vo1=getManagerCustomTableVO1();
    OADBTransaction oadbt=getOADBTransaction();
    if(!vo1.isPreparedForExecution())
    vo1.executeQuery();
    Row row=vo1.createRow();
    vo1.insertRow(row);
    in createPG processrequest co:
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    ManagerInformationAMImpl am=(ManagerInformationAMImpl)pageContext.getApplicationModule(webBean);
    am.NewoperationManagerLogic();
    process form request:
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    if(pageContext.getParameter("Submit")!=null)
    ManagerInformationAMImpl am=(ManagerInformationAMImpl)pageContext.getApplicationModule(webBean);
    am.getOADBTransaction().commit();
    please help with an example(sample code).
    its very urgent.
    thanks in advance
    Seshu
    Edited by: its urgent on Dec 25, 2011 9:31 PM

    Hi ,
    1.)You must have to create a EO based on custom table and then VO based on this EO eventually to save the values in DB
    2.) the row.setNewRowState(Row.STATUS_INITIALIZED); is used to set the the status of row as inialized ,this is must required.
    3.) When u will create the VO based on EO the viewattributes will be created in VO which will be assigned to the fields to take care the db handling .
    You must go thtough the lab excercise shipped with you Jdeveloper ,there is a example of Create Employee page ,that will solve your number of doubts.
    Thanks
    Pratap

  • Using Crystal 2008 to insert records into a table

    Hi,
    We have a unique need to use Crystal to insert records into a table. We have managed to test a report that can write into a temporary table.  This is done by using sql command object  and uses  the following code :
    INSERT INTO TEMP_TABLE  (ORDERID)
    VALUES ({?orderid})   (-- where orderid a parameter).
    This test report asks for an order id and then inserts the record perfectly fine.
    Now moving on to the real report - This report basically prints orders in batches and we want to insert order id into a temporary table to ensure we don't print orders that were already printed. To do this we created a sub report "insert orders" that has the above insert command. The main report passes the orderid to subreport and the idea is that the subreport would insert each time an order is passed. So if main report printed 50 orders ids, the then it would do 50 inserts individually into the temp table. 
    This however is NOT working. The report runs fine but there is no insert.  Our hunch is that  Crystal is not committing after every order id is passed from the main report.  Not sure if we can set the AUTO COMMIT ON  as a default somewhere?
    Wondering if any one has attempted this or has any insights?
    Regards,
    Mohit.
    Environment is - Crystal 2008 and Oracle 11GR2, we are using Oracle drivers (and not odbc)

    Hmmm... I don't use Oracle but the syntax looks good...
    You've already tested it and I assume that you are using the same driver in the production report as you used in the test, so that shouldn't be an issue...
    how are you pulling the data? Is the final SELECT statement that pulls the report data in the same command as the INSERT script, or is the INSERT script in it's own command?
    The reason I ask... If you are trying to pass a multi-valued parameter to a command, it won't work. If you have the insert command as it's own command while the data is being pulled with linked tables or a separate command, it is possible that the report itself will execute as expected w/o passing a value to the insert script.
    If it's all in 1 command (as it should be), a bad parameter would fail in the final SELECT causing an error.
    Also... are rows null or empty string values being added to table when the report executes? This would be an indication that the command is being executed but isn't getting the parameter value.
    Jason

  • Insert data into multiple tables

    Hi all,
    I've a requirement where i need to insert data into multiple tables using PL/SQL procedure
    Procedure should have two parameters
    1. Table Name (parameter1)
    2. Data (parameter2)
    Based on these two parameters i need to insert data into table (parameter1) using data (parameter2)
    ex:
    Procedure insert_data (p_table  IN VARCHAR2
                          ,p_data   IN -- what should be the datatype?
    IS
    l_statement VARCHAR2(2000);
    BEGIN
    -- insert data into tables
    INSERT INTO p_table
    values (....);
    END insert_data;Thanks in advance!!

    BEDE wrote:
    Amen to that!
    So, I believe a better approach would be the following...
    Suppose you have N datafiles with the same structure, and you wish to insert into the database the data from all those files.
    For that, you should have a single table, named, say incoming_file_data, which should be structured more or less like below:
    create table incoming_file_data (
    filename varchar2(250) not null -- name of the file inserted from
    ,file_time timestamp -- timestamp when the data was inserted
    ,... -- the columns of meaningful data contained in the lines of those files
    );And you will insert the data from all those files in this table, having normally one transaction for each file processed, for otherwise, when shit happens, some file may only get to be partially inserted into the table...
    Maybe one good approach would be to create dynamically an external table for the file to be loaded, and then execute dynamically insert select into the table I said, so that you will have only one insert select for one file instead of using utl_file... RTM on that.If the file structures are the same, and it's just the filename that's changing, I would have a single external table definition, and use the alter table ... location ... statement (through execute immediate) to change the filename(s) as appropriate before querying the data. Of course that's not scalable if there are multiple users intenting to use this, but generally when we talk about importing multiple files, it's a one-user/one-off/once-a-day type of scenario, so multi-user isn't a consideration.

Maybe you are looking for