Empty table of ODI SNP_EXP_TXT
Hello
I use 11.1.1.6.3_GENERIC_120508.0956 ODI, with Oracle DB, Oracle Database 11 g Enterprise Edition Release 11.2.0.3.0.
I try to get the error messages in my database, and from what I've read of the documentation and the Web, the best way is to use metadata that ODI SNP tables.
Specifically, to get the error message, the table SNP_EXP_TXT.
Now I'm running my package of the Production environment, and when it finishes, the SNP_EXP_TXT table is empty.
However, the SNP_SESSION, SNP_STEP_LOG, SNP_SESS_TASK and others similar are all full.
Also, I noticed that all of the tables containing the TXT in the name are empty, apart from SNP_EXP_TXT_HEADER.
Anyone has an idea why the SNP_EXP_TXT table is empty? Is there a good documentation on these paintings, in that I can find answer?
Thank you!
Before ODI 11.1.1.5, error messages can be obtained in the SNP_EXP_TXT table. But rom ODI 11.1.1.5, the details are kept in SNP_EXP_TXT_HEADER.
Tags: Business Intelligence
Similar Questions
-
name.table in ODI datastore schema name
Hello
We have a scheme-> others-> HFM_ESB-> TIME table.
Now, I need to connect to HFMESB. TIME table. When I try to give this table in the ODI data store, I get the message as invalid table name.
Any suggestions on how to call and reverse engineer these tables in ODI.
We were previously using synonyms and therefore sees no problems. But now we cannot synonyms, where to get this working...
Appreciate the quick response that few urgent.
Thanks in advance
Hello
Apparently HFM_ESB is your schema.
First, you create the server data in ODI, if you have not done: go in the topology tab in ODI Studio, then under Physical Architecture done right click on Oracle and choose new server data. Enter a name for your database server for example TRG_MyName and specify the username/password, for example, USER: ODI_STAGING PASS: MyPass. On the JDBC specify the driver JDBC and URL, for example: oracle.jdbc.OracleDriver and jdbc:oracle:thin:@localhost:1521:orcl respectfully. Save and close the window.
Second, on the right, click on the (new) database server and click new schema of Phisical , specify a name and then set the schema: HFM_ESB and the scheme of work: ODI_STAGING
Please note: If you do not have ODI_STAGING diagram you can specify your HFM_ESB as a USER and working scheme
Thirdly, under the logical Architecture right-click on Oracle technology and create new logical schema specifies a name and you can leave the Global context and choose the given (new) physical schema in the physical patterns column.
Fourth, go to the tab of the topology to the Designer tab. In the bar of models , click on the folder and new model of. Now, on the definition tab, enter a name for your model, choose Oracle as the technology, choose the logical schema that we just created. Go to the tab of bone , here you can leave everything in the Standard/table report which means do the standard reverse engineering for all tables in the given schema. If you want only to reconstruct the table PERIOD comes down to the click tab Sélective Reverse-Engineering on all the boxes at the top, then, under the control of column name of the Table field only PERIOD box and finally click on the button of boning (at the top left).
-
Display an empty table row of data when the data is not present
Hello
Can u please tell me How to display a row of data empty table when the data is not present?
in my case the column header appears as the code below.
<? If: SD_Type_Data_ID3 = 'KH '? > <? If: SD_SpecialHandlingCode_SPHD_ID17 = 'H '? > <? for each: Supplemental_Data_S17? > <? end if? >
can u pls help me.
Thanks and greetings
Sylvie Kumar
You can insert a fictitious line. Have an if condition in it, to show only when condition does not satisfy.
-
Syntax for exchanging a partition with an empty table
Hello
I have a PLP_2001FY partition and I want to share this partition with an empty table (ex: DRB_WHOLE_DATA_TEMP) structured as DRB_WHOLE_DATA (this table already exists).
Thank youDo you mean that you want to fill the empty array with the contents of the partition?
If so:
insert into DRB_WHOLE_DATA_TEMP select * from DRB_WHOLE_DATA partition (plp_2001fy)
-
How can I reset a default (empty) table call other than nodes?
I used the reset all failing to invoke the node and the specific call node in order to reset the two tables in my Subvi each time the Subvi is run in my program (main VI). I use the Subvi perform steps, but the steps I take continually stack on the other. I have these as outputs wired berries so I don't think I can grab an empty array and call her nodes are enabled (and no code return error!) whenever the Subvi is executed, but these two paintings is not reset to their default value, empty values at the beginning of each passage. All ideas are welcome; I appreciate your help. Thank you!
I managed to get almost what I wanted by replacing the nodes of comments that I used (to build the two tables), with offset, and then initializing registers Maj records at the beginning of the program. The problem there was that the encoder I used for the measurement of the angle would start up where it left off (at 400 degrees rather than 0, even if it was a new set of data). On the other hand, he deleted the previous data set, which is what I wanted. I think I'm able to work with it; The first measure can be 0, so I just need to use the last measure known as an offset or something... Suggestions are always welcome; Thank you all for your time!
Edit: For the sake of simplicity I just moved initializers of the nodes of the property to the farthest loop and it does the same thing.
-
loop for and while loop with empty table entry
Hello
I have a question with loop and loop.
When a constant empty array (zero element) is connected to the loop For with "allowing the index", there are no interactions performed in loop For. But, if the loop is replaced by any loop, no problem.
LabVIEW 2010
Hello
It is ok. I have no problem at all.
For the 'loop' For when you connect the table thanks to indexing, the number of iterations is set to the size of the array. The iteration number assigned to N (in your case 10) is ignored.
For the 'While' loop the number of iteration is defined by the Boolean Condition and the size of the array is ignored.
Paul
-
while loading does no data in the table target, odi performance degrades?
Hello
I am trying to load some data from the source (Oracle DB1) to the target (Oracle, DB2) table in the same server
Source table have 45lacks of data. These data must be load in the target table.
I create interface. I took LKM SQL SQL & IKM SQL for SQL incremental Add.
yesterday I executed interface, I checked the status in the browser of the operator. "his display like the loading status.
However, the interface is in State of loading.
sometimes odi is unresponsive. Plese help me.
Need to add all the fetch sizes?
Please solve this problem.
Thank you and best regards,
A.Kavya.
Hello
As you say, I tried with different knowledge modules. I used the incremental update IKM for db and db 45 do not data loading.
its really increase performance. with in 10 minutes it will be correctly loaded into the target table. previously, I used SQL & SQL LKM, IKM SQL for SQL control append.it takes a long time. It takes two days also data is not loaded in the target table. really bad performance.
I used DB loading for better performnace LKM SQL to ORACLE & IKM INCREMENTAL UPDATE.
-
How to load flat files without header to table in ODI
I try to get data from a flat file, but it doesn't have any header
as 1, tom, 36, usa.
I have a table with id column, name, age, country, and I want to get the data. Please let me know how to proceed.
Thanks in advance
If you add columns manually in the data model there is no need to reverse engineering. If you reverse engineer with header set to 0 ODI will simply give the columns arbitrary identifiers such as C1, C2, C3 etc. That you can leave or change.
-
Tables of ODI Master Rep that stores the details of work rep
Hi all
I want to know the details of all deposits present in an ODI installation. I think the table of the master repository will have the details of the rep of this work under him. Please let me know tables which holds the details of the work.
Thank you
Raja
Hello
The table on the ODI SNP_LOC_REPW describe the details of repositories of work that are used in the Master repository.
Thank you
-
UPDATE/INSERTION of a table full of data to an empty table.
Hi all
I use Oracle 11g - 64 bit and the client of TOAD.
I have two tables... a TMP_SUPP_CONTACTS (TMP) and table TBL_SUPP_CONTACTS (TBL). The TMP table has all these 'raw data ' (lower case), do not cut, etc. The Bill of lading DIRECT is completely empty, in addition to the columns. I need to move these data from the TMP table to the Bill of lading DIRECT.
The columns in each table do like this:
TMP:
CNTCT_ID
SUPP_IDNT
FIRST_NM
MID_NM
LAST_NM
ROLE_TITLE
ADDR_LN_1
ADDR_LN_2
ADDR_LN_3
CITY_NM
STATE_CD
POST_ZN_CD
CTRY_CD
PH_NUM
EMAIL_ADR_TXT
TBL:
ORG_ID
CNTCT_ID
SUPP_CD
DATA_SOURCE
ROLE_TITLE
FIRST_NM
LAST_NM
ADDR_ST
ADDR_CITY_NM
ADDR_ZIPCD
ADDR_CNTRY_CD
PH_NUM
ADDR_EMAIL
ADD_DT
LAST_UPD_DT
I am combining table TMP, ADDR_LN_1 + ADDR_LN_2 + ADDR_LN_3 at ADDR_ST in the Bill of lading DIRECT. My code looks like this...
UPDATE TBL_SUPP_CONTACTS TBLSC
SET
TBLSC.ORG_ID = "XXX."
TBLSC. CNTCT_ID = TRIM (UPPER (TMPSC. CNTCT_ID)),
TBLSC. SUPP_CD = TRIM (UPPER (TMPSC. SUPP_IDNT)),
TBLSC. DATA_SOURCE = 'E ',.
TBLSC. ADDR_ST = TRIM (UPPER (TMPSC. ADDR_LN_1))
|| ' '
|| TOPPING (UPPER (TMPSC. ADDR_LN_2))
|| ' '
|| TOPPING (UPPER (TMPSC. ADDR_LN_3)),
TBLSC. ADDR_CITY_NM = TRIM (UPPER (TMPSC. CITY_NM))
|| ' '
|| TOPPING (UPPER (TMPSC. STATE_CD)),
TBLSC. ADDR_CNTRY_CD = TRIM (UPPER (TMPSC. CTRY_CD)),
TBLSC. ADDR_EMAIL = TRIM (UPPER (TMPSC. EMAIL_ADR_TXT)),
TBLSC. ADDR_ZIPCD = TRIM (UPPER (TMPSC. POST_ZN_CD)),
TBLSC. FIRST_NM = TRIM (UPPER (TMPSC. FIRST_NM)),
TBLSC. LAST_NM = TRIM (UPPER (TMPSC. LAST_NM))
|| ' '
|| TOPPING (UPPER (TMPSC. MID_NM)),
TBLSC. PH_NUM = TRIM (UPPER (TMPSC. PH_NUM)),
TBLSC. ROLE_TITLE = TRIM (UPPER (TMPSC. ROLE_TITLE)),
TBLSC. LAST_UPD_DT = SYSTIMESTAMP,
TBLSC. ADD_DT = MARCH 6, 2013.
OF TMP_SUPP_CONTACTS TMPSC;
So, I have a few questions.
1. why this code does not work? It gives me an error on my statement FROM. I am new to Oracle and SQL as a whole, but trying my best to understand this.
2. for the TBLSC. Field LAST_UP_DT... I would format the SYSTIMESTAMP in MM/DD/YYYY format, is this possible to do?
Thanks to all the advice I receive for this problem. I appreciate it.Well, for starters, you want an INSERT... SELECT... statement, not an UPDATE statement. You have nothing to TBL to update, you will need to insert the data.
-
How to purge the tables using odi?
Hello
I want to purge the data in the target. That data my political is to remember that the only 90 days. I have to keep the only 90 days of data. How can I do this in ODI. I don't have a single column DATE.
Thank you
Kind regards
AMSIIIf your existing date field can be used to identify records to be served, then you can simply create a procedure in ODI along the lines of
delete of < %="odiRef.getSchemaName" ()="" %=""> >. * your_table * where your_date_field< (sysdate="" -="">
It of the easiest way, but beware of your index finger on the table, that they don't get too fragmented. You might also consider using a strategy of daily score on the table that would allow you to remove partitions over 90 days, which would be much faster.
-
How to disable the user to not import the structure of the table in ODI
Hello
I want to disable the not not to import the table structure in to ODI. How we achieve this.
Please let me know.
Thank you.Take the metadata of the user Admin role
-
Hello.. friends.
can we use table partition in ODI 11 g?
Please give an example with photo or video representation.
Concerning
Soumya.http://odiexperts.com/11g-Oracle-data-integrator-%E2%80%93-part-811g-%E2%80%93-table-partitioning-supported
Also look into the documentation for 11g ODI.
-
How to call a Java method n map the output of this method to a table in ODI
Hello
I am new to ODI. I wrote an interface that links the two tables (source) to a file (in the target). Now, I must apply a method (java call) on each element in a column in the target. Now my questions are:
1. all I know is to use the procedure using BeanShell Java or Jython. Can you give some examples of commands to achieve such a feature?
2. where should I actually apply this procedure? Is it possible to apply this procedure within the Interface during the mapping (so that I can map directly the result in the output file)?
Thanks in advance :)Not sure why you want to call a java method for each column.
But as others have mentioned, an ODI procedure won't help you do.However, there are other options you can exercise:
(1.) assuming that you are using Oracle, you can compile the Java class and wrap it as a PL/SQL function and then call this function from pl/sql to the ODI interface. This procedure will be called like any other function oracle for example. Upper (col1).(2.) as I understand, it's that you want to apply the Java method for all columns.
Assuming that you have knowledge with Jython and the code inside the KMs, you can customize the KM to include the Java method around the columns. But this approach is complex if you are a beginner.Hope that helps
-
Insert first in the results of the empty table in ORA-00001: unique constraint
Hi all
We are running Oracle 10 g. I modified an Oracle stored procedure instead of using the cursor for loops or bulk collect for use INSERT with the SELECT statement. When I run this version, I get ORA-00001 on first insertion. ONCE the exception is thrown. I checked that the array is empty. I don't think the ORA-00001 is the real cause of the problem. I have a syntax problem I'm not aware of.
Here's the script:
Thank you for your help,CREATE OR REPLACE PROCEDURE SP_LOAD_TEST (p_rpt_month varchar2) IS --=================================================== -- define exceptions --=================================================== DUP_VAL_ON_INDEX EXCEPTION; --=================================================== -- read the USER data --=================================================== CURSOR c_get_USERS_TBL IS select DIV_CD, WRKR_USER_ID, RPT_MONTH from USERS_TBL WHERE RPT_MONTH = P_RPT_MONTH ORDER BY DIV_CD, WRKR_USER_ID; --=================================================== -- get the location name from the TLOC_DMSN table --=================================================== CURSOR c_wrkr_loc_name ( p_wrkr_user_id varchar2) IS select WRKR_LOC from .TLOC_DMSN WHERE TRIM(wrkr_user_id) = TRIM(p_wrkr_user_id); --=================================================== -- define a place holder for each row fetched from each cursor --=================================================== c_get_USERS_TBL_row c_get_USERS_TBL%ROWTYPE; --=================================================== -- define variables --=================================================== v_elapsed_time VARCHAR2(50); v_elapsed_time_hh FLOAT; v_elapsed_time_mi FLOAT; v_elapsed_time_ss FLOAT; v_mod_ss FLOAT; v_mod_mi FLOAT; v_elapsed_time_minus_ss FLOAT; v_div_cd1 USERS_TBL.div_cd%TYPE; v_wrkr_user_id1 USERS_TBL.wrkr_user_id%TYPE; v_rpt_month1 USERS_TBL.wrkr_user_id%TYPE; v_div_cd2 USERS_TBL.div_cd%TYPE; v_wrkr_user_id2 USERS_TBL.wrkr_user_id%TYPE; V_rpt_month2 USERS_TBL.rpt_month%TYPE; v_usage_hour FACT_TBL.usage_hour%TYPE; v_bytes_sent FACT_TBL.bytes_sent%TYPE; v_bytes_rcvd FACT_TBL.bytes_rcvd%TYPE; v_total_bytes FACT_TBL.total_bytes%TYPE; v_div_nm FACT_TBL.div_nm%TYPE; v_wrkr_loc .TLOC_DMSN.WRKR_LOC%TYPE; v_wrkr_dspl_nm FACT_TBL.wrkr_dspl_nm%TYPE; v_wrkr_ph FACT_TBL.wrkr_ph%TYPE; v_url FACT_TBL.url%TYPE; v_divcd_userid VARCHAR2(12); v_prev_divcd_userid VARCHAR2(12); v_prev_div_cd USERS_TBL.div_cd%TYPE; v_prev_wrkr_user_id FACT_TBL.wrkr_user_id%TYPE; v_date_id NUMBER(10); v_user CHAR(8); v_seq_id NUMBER; v_insert_counter NUMBER; v_mmyyyy VARCHAR2(6); v_mm VARCHAR2(2); BEGIN --=================================================== -- initialize variables --=================================================== v_div_cd1 := ' '; v_prev_div_cd := ' '; v_wrkr_user_id1 := ' '; v_wrkr_loc := ' '; v_rpt_month1 := ' '; v_divcd_userid := ' '; v_prev_divcd_userid := ' '; v_prev_wrkr_user_id := ' '; v_insert_counter := 0; v_seq_id := 0; v_mmyyyy := ' '; --=================================================== -- build run month in mmyyyy format before writing to TLOAD_LOG table --=================================================== CASE WHEN UPPER(SUBSTR(p_rpt_month,1,INSTRB(p_rpt_month,'-',1,1)-1)) = 'JANUARY' THEN v_mm := '01'; WHEN UPPER(SUBSTR(p_rpt_month,1,INSTRB(p_rpt_month,'-',1,1)-1)) = 'FEBRUARY' THEN v_mm := '02'; WHEN UPPER(SUBSTR(p_rpt_month,1,INSTRB(p_rpt_month,'-',1,1)-1)) = 'MARCH' THEN v_mm := '03'; WHEN UPPER(SUBSTR(p_rpt_month,1,INSTRB(p_rpt_month,'-',1,1)-1)) = 'APRIL' THEN v_mm := '04'; WHEN UPPER(SUBSTR(p_rpt_month,1,INSTRB(p_rpt_month,'-',1,1)-1)) = 'MAY' THEN v_mm := '05'; WHEN UPPER(SUBSTR(p_rpt_month,1,INSTRB(p_rpt_month,'-',1,1)-1)) = 'JUNE' THEN v_mm := '06'; WHEN UPPER(SUBSTR(p_rpt_month,1,INSTRB(p_rpt_month,'-',1,1)-1)) = 'JULY' THEN v_mm := '07'; WHEN UPPER(SUBSTR(p_rpt_month,1,INSTRB(p_rpt_month,'-',1,1)-1)) = 'AUGUST' THEN v_mm := '08'; WHEN UPPER(SUBSTR(p_rpt_month,1,INSTRB(p_rpt_month,'-',1,1)-1)) = 'SEPTEMBER' THEN v_mm := '09'; WHEN UPPER(SUBSTR(p_rpt_month,1,INSTRB(p_rpt_month,'-',1,1)-1)) = 'OCTOBER' THEN v_mm := '10'; WHEN UPPER(SUBSTR(p_rpt_month,1,INSTRB(p_rpt_month,'-',1,1)-1)) = 'NOVEMBER' THEN v_mm := '11'; WHEN UPPER(SUBSTR(p_rpt_month,1,INSTRB(p_rpt_month,'-',1,1)-1)) = 'DECEMBER' THEN v_mm := '12'; END CASE; v_mmyyyy := v_mm||substr(p_rpt_month,INSTRB(p_rpt_month,'-',1,1)+1,4); --=================================================== -- get the name of user running this procedure --=================================================== v_user := ' '; select user into v_user from dual; --=================================================== -- get date id for the current date --=================================================== v_date_id := 0; select date_id into v_date_id from .dwtime5 where DWDATE = trunc(sysdate); --=================================================== -- read each ROW IN the users TABLE --=================================================== -- Open the cursor and intialize the active set Open c_get_USERS_TBL; -- Retrieve the first row, to setup for the WHILE loop FETCH c_get_USERS_TBL into c_get_USERS_TBL_row; -- Continue looping while there are more rows to fetch WHILE c_get_USERS_TBL%FOUND LOOP v_div_cd1 := c_get_USERS_TBL_row.div_cd; v_wrkr_user_id1 := c_get_USERS_TBL_row.wrkr_user_id; v_rpt_month1 := c_get_USERS_TBL_row.rpt_month; CASE WHEN v_div_cd1 <> v_prev_div_cd THEN v_prev_divcd_userid := v_divcd_userid; v_divcd_userid := v_div_cd1||v_wrkr_user_id1; WHEN v_wrkr_user_id1 <> v_prev_wrkr_user_id THEN v_prev_divcd_userid := v_prev_div_cd||v_prev_wrkr_user_id; v_divcd_userid := v_div_cd1||v_wrkr_user_id1; END CASE; Open c_wrkr_loc_name(v_wrkr_user_id1); Fetch c_wrkr_loc_name INTO v_wrkr_loc; IF c_wrkr_loc_name%NOTFOUND THEN v_wrkr_loc := NULL; END IF; Close c_wrkr_loc_name ; v_seq_id := 0; select SEQ_USER_ID.nextval into v_seq_id from dual; INSERT INTO DETAIL_TBL_TEST(DETAIL_PK_ID, DIVCD_USERID, WRKR_USER_ID, WRKR_DSPL_NM, RPT_MONTH, USAGE_HOUR, DIV_CD, DIV_NM, WRKR_LOC, BYTES_RCVD, BYTES_SENT, TOTAL_BYTES, WRKR_PH, URL, CREATE_DT, CREATE_USER, CREATE_PGM, UPDATE_DT, UPDATE_USER, UPDATE_PGM ) SELECT v_seq_id, v_divcd_userid, wrkr_user_id, wrkr_dspl_nm, rpt_month, usage_hour, div_cd, div_nm, v_wrkr_loc, bytes_rcvd, bytes_sent, total_bytes, wrkr_ph, url, SYSDATE, v_user, 'SP_LOAD_DETAIL_TBL', SYSDATE, v_user, 'SP_LOAD_DETAIL_TBL' FROM FACT_TBL, DUAL WHERE DIV_CD = v_div_cd1 AND TRIM(wrkr_user_id) = TRIM(v_wrkr_user_id1) AND rpt_month = v_rpt_month1 ORDER BY DIV_CD, WRKR_USER_ID; v_insert_counter := v_insert_counter + 1; IF v_insert_counter >= 500 THEN -- commit changes COMMIT; v_insert_counter := 0; END IF; FETCH c_get_USERS_TBL into c_get_USERS_TBL_row; END LOOP; Close c_get_USERS_TBL; --=================================================== -- final commit --=================================================== COMMIT; EXCEPTION WHEN DUP_VAL_ON_INDEX THEN DBMS_OUTPUT.PUT_LINE('Attempting to insert a row that already exists!!!'); WHEN OTHERS THEN RAISE; --END; --=================================================== -- procedure ended. --=================================================== END;
SeyedHello
I guess that the error you receive notice when you were in that sequence was ORA-02287: unauthorized by sequence number. This is because you had the ORDER BY clause in there. If you get rid of it, you can just use the sequence number in the insert without the need first to select it...
With ORDER BY
XXXX> insert 2 into 3 dt_t1 4 SELECT 5 dt_seq.NEXTVAL, 6 SYSDATE 7 FROM 8 dual 9 CONNECT BY LEVEL 10 <=10 11 ORDER BY 12 1 13 / dt_seq.NEXTVAL, * ERROR at line 5: ORA-02287: sequence number not allowed here
No ORDER OF
XXXX> insert 2 into 3 dt_t1 4 SELECT 5 dt_seq.NEXTVAL, 6 SYSDATE 7 FROM 8 dual 9 CONNECT BY LEVEL 10 <=10 11 / 10 rows created.
Of course, I guess you want a new id for each row, as seems to be the name of the primary key column.
HTH
David
Published by: Bravid on December 19, 2011 16:07
Published by: Bravid on December 19, 2011 16:08
Maybe you are looking for
-
How can I stop Firefox to jump to the bottom of the page after loading
the page jumps down to halfway after loading
-
Hi I need drivers for my laptop HP Copmaq Presaria CQ43
Hi I need drivers for my laptop HP Copmaq Presaria CQ43
-
A software problem in-house RT VI (Invoke node in stockFPGA)
Hello world I would like to know what means this error... I wouldn't change a thing on FPGA and supported screw RT of NOR. Error message below An internal software error occurred. Contact National Instruments technical support on ni.com/support. Erro
-
Photosmart HP 7520 - Windows 7 - double-sided printing shrinks Word 10 text margins
I don't know if it's a problem of printer or the Word 10. I type manuscripts with headers and footers with a margin of 1 inch all around. The margins are very well when I tell the printer to print on one side of the paper. When I indicate on both
-
Using my Vista 64-bit dvd recovery tools section I ran the test of memory. When the computer reboots, it went through the test, but at the end it starts just the test everywhere after the third time I restarted the pc, he went to the same point and s