Error in the Primavera Analytics 3.1 (staretl issuance of long data type error)

Hello

When executing ETL for analytics Primavera 3.1 I am faced with long data type error.

Session detailed log can be found on the below URL.

http://pastebin.com/Ez0VihGN

I have following environment.

Primavera analytics on Win2k8 64-bit with 11g R2 DB.

EPPM Primavera DB on Sql Server

Connectivity via Oracle Gateway. (tested)

Help, please.

Naeem Akhtar

Published by: Naeem Akhtar Khan on April 9, 2013 03:58

Based on your post there is an error in you initdg4msl.ora file... Make sure you the database connection is correct and you add the statement two to the file

for example

Should be: HS_FDS_CONNECT_INFO = YOURSQLSERVER / / YOUR DATABASE

Make sure that you add the following code in the same file (see page 92):
HS_NLS_LENGTH_SEMANTICS = CHAR
HS_FDS_CHARACTER_SEMANTICS = TRUE
HS_KEEP_REMOTE_COLUMN_SIZE = ALL

Restart the ETL process

Tags: Oracle Applications

Similar Questions

  • Error (21,100): PL/SQL: ORA-00997: illegal use of the LONG data type

    CREATE or REPLACE (name in varchar2) procedure Compress_tab_partition
    is
    last_mnth_var varchar2 (8);
    curr_mnth_var varchar2 (8);
    number of last_mnth;
    number of curr_mnth;
    last_partition varchar2 (8);
    high_val varchar2 (4000);
    Start

    Select to_char (add_months (trunc (sysdate, 'MM'),-1), 'YYYYMM') | ' 00' in the double last_mnth_var;
    Select to_char (sysdate, 'YYYY') | TO_CHAR (sysdate, 'mm') | ' 00' in the double curr_mnth_var;
    Select to_number (last_mnth_var) in the double last_mnth;
    Select to_number (curr_mnth_var) in the double curr_mnth;

    Dbms_output.put_line ('Compression of GOLDMGR Table scores.' | table-name |) "to go". ») ;
    Dbms_output.put_line(' ');

    / * Step 1 - identify the name of the partition of the specified table must be compressed * /.
    Select high_value from high_val from user_tab_partitions where table_name = table-name;
    Select nom_partition into last_partition from user_tab_partitions where table_name = table-name and high_value = rtrim (high_val);

    / * Step 2 - Alter partition table to compress * /.

    run immediately "ALTER TABLE GOLDMGR." | table_name | ' CHANGE THE PARTITION '. last_partition | "COMPRESS by low query";

    / * Step 3 - Index rebuild step * /.

    I'm in (select index_name in user_indexes where table_name = table-name)
    loop
    run immediately "ALTER INDEX GOLDMGR." | i.index_name |' REBUILD ";
    end loop;

    Dbms_output.put_line (' COMPLETED: compress the Table partitions change.) ") ;

    end;
    /

    I'm getting an error like: Error (21,100): PL/SQL: ORA-00997: illegal use of the LONG data type

    Please resolve.

    HIGH_VALUE datatype is LONG. You may not use for a long TIME in WHERE clause expressions. You need to loop through the partitions by selecting HIGH_VALUE and then comparing. Secondly, there is no need to select double to calculate expressions. For example:

    Select to_char (add_months (trunc (sysdate, 'MM'),-1), 'YYYYMM') | ' 00' in the double last_mnth_var;

    should be replaced by

    last_mnth_var: = to_char (add_months (trunc (sysdate, 'MM'),-1), 'YYYYMM') | ' 00'.

    and there is no need to add_months here:

    last_mnth_var: = to_char (trunc (sysdate, 'MM') - 1, "YYYYMM"). ' 00'.

    But the main question is simply ALTER TABLE MODIFY PARTITION COMPRESS allows compression but does not compress. You must issue ALTER TABLE MOVE PARTITION COMPRESS:

    SQL > create table tbl (n) partition by range (n)
    2 (partition p1 values less than (maxvalue))
    3. Select lpad('X',4000,'X') from dual connect by level<=>
    4.

    Table created.

    SQL > select bytes
    2 from WHERE user_segments
    3 where nom_segment = 'TBL '.
    4 and nom_partition = 'P1 '.
    5.

    BYTES
    ----------
    830472192

    SQL > alter table tbl
    2. change the partition p1 compress
    3.

    Modified table.

    SQL > select bytes
    2 from WHERE user_segments
    3 where nom_segment = 'TBL '.
    4 and nom_partition = 'P1 '.
    5.

    BYTES
    ----------
    830472192

    SQL > alter table tbl
    2. move the partition p1 compress
    3.

    Modified table.

    SQL > select bytes
    2 from WHERE user_segments
    3 where nom_segment = 'TBL '.
    4 and nom_partition = 'P1 '.
    5.

    BYTES
    ----------
    8388608

    SQL >

    SY.

  • As an operator with the long data type

    Oracle 10g.

    Hi gurus

    I want to apply as an operator on the long data type, but I get the error message, can you please help me why is that I use as an operator with the long data type. I did some research and but unable to find a solution, see query for more details below...

    Query

    SELECT trigger_body FROM user_triggers

    WHERE trigger_body LIKE '% UPDA % CASE % ';

    Error

    ORA-00932: inconsistent data types: expected NUMBER got LONG

    00932 00000 - ' incompatible data types: wait %s %s got. "

    * Cause:

    * Action:

    Error on line: column 2: 7

    Concerning

    Muzz

    Adrian Billington wrote to the top of your options.

    working with long columns

  • Syntex to create the table with the long data type

    I'm looking to create a table based on another table that having the column long data type. Throw the error ORA-00997: illegal use of the LONG data type


    I tired it

    create table abc_long (ag bgd long number);

    create table abc_long_dummy as ( ) Select *of abc_long); - ORA-00997 error: illegal use of the LONG data type

    How to get there?

    I'm looking to create a table based on another table that having the column long data type.

    You really don't want to do that.

    LONG data type has been deprecated for some time now, use CLOB.

    The TO_LOB() function will do the conversion on the fly:

    create table abc_long_dummy
    as
    select ag
         , to_lob(bgd) as bgd
    from abc_long ;
    
  • long data type error

    Hi all

    Hope all are fine, I got stuck in a query, and I need your help, I will be grateful for this.

    I was using the query below to copy all the data of table x to y.

    SQL > insert y select * from x@dblnkname;

    ERROR on line 1:

    ORA-00997: illegal use of the LONG data type

    I m getting the error above, tables x and there does not "long" datatype.your help will be appreciated, thanks in advance.

    DB: 11.2.0.3

    OS: RHEL 6.1

    Thank you

    Kind regards.

    copy of user/password@sid to user1/password@sid add user1.new_table using select * from user.old_table;

  • ORA-00997: illegal use of the LONG data type

    Hi all

    11.2.0.1

    ALTER TABLE SAFDB MOVE TABLESPACE DATA_TS_ENC

    *

    ERROR on line 1:

    ORA-00997: illegal use of the LONG data type

    Why illegal? How can I move this table?

    Thank you very much

    pK

    Take a look who

    http://aprakash.WordPress.com/2011/01/06/how-to-move-table-containing-long-or-LOB-columns/

    Concerning

  • How can I set the long data type by default

    a query that I want to run:

    exec DBMS_METADATA. SET_TRANSFORM_PARAM (DBMS_METADATA. False SESSION_TRANSFORM, 'SEGMENT_ATTRIBUTES',);

    result:

    E

    ;

    ;

    45

    ;

    45

    ;

    45

    ;

    45

    ;

    S

    45

    I'm not sure but maybe I need set the long size before the race top query. But when I try to put long size gives below error. Also, I put below an explanation so help.

    "The output of DBMS_METADATA.GET_DDL is a LONG data type." When you use SQL * Plus, your output may be truncated by default. "Deliver the following SQL * Plus command before issuing the DBMS_METADATA.GET_DDL statement to make sure your output is not truncated:

    SQL> SET LONG 9999

    error:

    Unhandled SET statement:

    "SET 9999 LONG."

    Change SQL * PLus (login.sql) user profile or the site profile (glogin.sql) and add:

    THE VALUE LONG 9999

    SY.

  • Using DBMS_DATAPUMP with the LONG data type

    I have a procedure below that calls the DBMS_DATAPUMP procedure using a REMOTE_LINK move a schema of one database to another. However, some tables in this schema have columns with the data type of LONG. And when I run it I get an error saying that you cannot move the data with the LONG data type using a REMOTE CONNECTION. So no data in these specific tables gets flying over.

    Does anyone else have this problem? If so, do you have a work around? I tried to add a CLOB column in my table and affecting the new CLOB equal THROUGHOUT, but I couldn't get that to not work either... even when I tried to use a TO_LOB. If I could get that pass, then I could just slide ALONG, the schema, and then re-create the LONG column on the opposite side.

    Here is my procedure...



    DECLARE
    / * IMPORT/EXPORT VARIABLES * /.
    v_dp_job_handle NUMBER;          -The handful of job data pump
    v_count NUMBER;          -Index of the loop
    v_percent_done NUMBER;          -Percentage of job complete
    v_job_state VARCHAR2 (30);     -To keep track of job status
    v_message KU$ _LOGENTRY;     -For error messages and work in PROGRESS
    v_job_status KU$ _JOBSTATUS;     -The State of the work of get_status
    v_status KU$ _STATUS;     -The status returned by get_status object
    v_logfile NUMBER;
    T_DATE VARCHAR2 (13).
    v_source_server_name VARCHAR2 (50);
    v_destination_server_name VARCHAR2 (50);

    BEGIN
    v_project: = 'TEST ';
    T_DATE: = TO_CHAR (SYSDATE, 'MMDDYYYY_HHMI');
    v_source_server_name: = 'TEST_DB ';

    v_dp_job_handle: = DBMS_DATAPUMP. OPEN)
    OPERATION = > "IMPORT."
    JOB_MODE = > "SCHEMA."
    REMOTE_LINK = > v_source_server_name,
    JOB_NAME = > v_project | ' _EXP_' | T_DATE,
    VERSION = > 'LAST');

    v_logfile: = DBMS_DATAPUMP. KU$ _FILE_TYPE_LOG_FILE;

    DBMS_DATAPUMP. ADD_FILE)
    MANAGE = > v_dp_job_handle,
    FILENAME = > v_project | ' _EXP_' | T_DATE |'. JOURNAL '.
    DIRECTORY = > 'DATAPUMP. "
    FILETYPE = > v_logfile);

    DBMS_DATAPUMP. () METADATA_FILTER
    MANAGE = > v_dp_job_handle,
    NAME = > 'SCHEMA_EXPR ',.
    VALUE = > ' = "' | v_project | " ' ') ;

    DBMS_DATAPUMP. START_JOB (v_dp_job_handle);

    v_percent_done: = 0;
    v_job_state: = "UNDEFINED";

    WHILE (v_job_state! = "COMPLETED") AND (v_job_state! = "STOPPED")
    LOOP
    DBMS_DATAPUMP. GET_STATUS)
    v_dp_job_handle,
    DBMS_DATAPUMP. KU$ _STATUS_JOB_ERROR + DBMS_DATAPUMP. KU$ _STATUS_JOB_STATUS + DBMS_DATAPUMP. KU$ _STATUS_WIP.
    -1,
    v_job_state,
    v_status);

    v_job_status: = v_status. JOB_STATUS;

    IF v_job_status. PERCENT_DONE! = v_percent_done THEN
    DBMS_OUTPUT. Put_line ('* percent of the job done = ' |) To_char (v_job_status. PERCENT_DONE));
    v_percent_done: = v_job_status. PERCENT_DONE;
    END IF;

    IF BITAND (v_status. MASK, DBMS_DATAPUMP. KU$ _STATUS_WIP)! = 0 THEN
    v_message: = v_status. WORK IN PROGRESS;
    ELSIF BITAND (v_status.mask, DBMS_DATAPUMP. KU$ _STATUS_JOB_ERROR)! = 0 THEN
    v_message: = v_status. ERROR;
    ON THE OTHER
    v_message: = NULL;
    END IF;

    IF v_message IS NOT NULL THEN
    v_count: = v_message. FIRST;
    While v_count IS NOT NULL
    LOOP
    DBMS_OUTPUT. Put_line (v_message (v_count). LOGTEXT);
    v_count: = v_message. Next (v_count);
    END LOOP;
    END IF;
    END LOOP;

    DBMS_OUTPUT. Put_line ("' job has completed");
    DBMS_OUTPUT. Put_line (' State of the Final work = ' | v_job_state);

    DBMS_DATAPUMP. Detach (v_dp_job_handle);
    END;

    TO_LOB can be used to insert, create table in select and update the instructions to convert

    So: You simply cannot use it in SELECT..., you can use CREATE TABLE BLAH AS SELECT TO_LOB (LONG_COLUMN) OF DREADED_TABLE_WITH_LONG_COL;

  • Impact on performance when you use the LONG data type

    Hi all


    Only I have a doubt about the use of LONG data type

    I use the data type LONG for some columns in a table and I created indexes on the columns separately, but these column values can be easily fit into the varchar data type.

    (Just to see the performance on this issue)

    Suppose that a common select query with WHERE condition on any of the column which has LONG data type will affect the performance of the query?

    Please explain.

    Thank you

    (1) the LONG (and LONG RAW) data types have been depricated for quite a while. Oracle has been strongly recommends that you move to 8.1.5 CLOB and BLOB data types. Why you use the LONG data type? You're still on Oracle 7?

    (2) have you tried to write a query that has a WHERE condition that refers to a LONG column? In general, you can not because it does not support the type of data LONG. For example

    SQL> ed
    Wrote file afiedt.buf
    
      1  create table a (
      2    col1 varchar2(30),
      3    col2 long
      4* )
    SQL> /
    
    Table created.
    
    SQL> select * from a where col2='abc';
    select * from a where col2='abc'
                          *
    ERROR at line 1:
    ORA-00997: illegal use of LONG datatype
    

    LONG data types are a royal pain to work with. They also have implications on the performance of wicked on the client.

    Justin

  • How to insert the value of a LONG data type?

    Hi all

    Developers what to change the type of data in the PRODUCTS table.

    PRODUCT
    ======
    ID number (10) not null,
    NAME varchar2 (50) not null,
    DESCR varchar2 (250) not null


    They want the DESCR to change datataype at LENGTH

    So I got back it up first:

    create the table product_bak in select * from product;
    remove the product;
    change the product table change (descr, null);
    Edit the product table change (long descr);
    Insert into select product * from product_bak;

    ORA - 997 - illegal use of LONG data type


    How can I recover my data?


    Thank you very much.

    Use TO_LOB to convert long on the CLOB type, then use TO_CHAR to convert CLOB VARCHAR2.

  • View the long data type

    Hello

    I use coldfusion 7 and oracle 10g.

    I'm trying to display a field (aprconf_comment) who have a LONG data type and that is formatted with carriage return.
    The problem I have, is the maintenance of wagons return entered by the user.
    The text that is displayed is all in a single paragraph, that all the wagons back had been withdrawn.

    Does anyone know how to keep the return transport?

    Thank you
    Chantal

    Here is my select code
    < name cfquery "allWealth' datasource = #TheDataSrc # dbtype = #TheDataType = # >
    Select *.
    of avwh_bio_wealth
    where aprconf_pidm = ' #ThePidm #
    and aprsubj_subj_code = 'WHLT.
    < / cfquery >

    Here is my code to display
    < cfoutput query = "allWealth" >
    < b >
    < td align = "Left" > < class p = "text" > #aprconf_comment # < /p > < table >
    < /tr >
    < / cfoutput >

    For future references.

    In fact, looking for others, I found this function
    ParagraphFormat() worked a little better for me
    because the text remained inside the window, not as

     
    .

    I guess that ParagraphFormat() creates "soft returns.

    Thank you all,.
    Chantal

  • Problems with the Long data type conversion

    With the help of Oracle 11 G.

    I have a vision where one of the name of the column is of type long, I need to convert in varchar2. I tried using the to_Lob() function, but this error:

    ORA-00932: inconsistent data types: expected - got LONG

    I followed this article (step 1), which suggests to use to_lob()

    My query is:
    select
    item1, -- this is of type LONG
    item_vat, 
    price_pc_tot,
    from xd_item_price_view 
    I tried to convert it into:
    select
    to_lob(item1) as item1_x, -- this is of type LONG
    item_vat, 
    price_pc_tot,
    from xd_item_price_view 
    I am confused about the "-", why he would expect that? Thanks for watching it.

    >
    Sorry mate, just realized that. Yep, this is the one I followed (step 1 using to_lob())
    >
    It's a case of 'use' along in a query or search.

    But you can use to_lob as part of creating a new table.

    Response to see Dom Brooks in this thread
    Re: Conversion long to varchar2

    And he directly answered your original question
    >
    But you can't use TO_LOB in a statement SELECT right:

  • Create the view with the CLOB of TABLE data type with the LONG data type

    Please need support to create the table view
    Source table: (itemid varchar2, longrec)
    need to create the table view Source
    (itemid varchar2, CLOBrec)

    A BUSINESS object must have a storage in the database, so you can't have a CLOB column in a view by pointing to a not lob data column.

    Max
    [My Italian blog Oracle | http://oracleitalia.wordpress.com/2010/01/17/supporto-di-xml-schema-in-oracle-xmldb/]

  • Data selection in UDB where columns were named after the oracle data types

    I have a couple of tables in UDB, I'm trying to reference on a HS db link.

    The first table on the side of the UDB has a column named 'number' (bought the software - not something we did)...

    Selecting this SEO column in this table and more specifically (i.e. Select number, col2, col3 etc) causes the error ORA-00936 (missing expression).

    Select * works...

    The second table also has a column called 'number', so the same problem above applies.  [However, sql errors when I do a select * from ORA-00600: internal error code, arguments: [HO set: look long], [], [], [], [], [], [], [], [], [], []]

    Our dba lean on it, - Oracle HS is new to us, so - I was hoping someone here might have an idea...

    Using oracle 11.2.0.3.0.

    When your DB2 database has column with reserved words in Oracle names, you must create a view of your DB2 side by specifying a different name for this column, and then use DG4ODBC to choose from the scoreboard instead of DB2.

    Another approach which would require an additional programming is to use the DBMS_HS_PASSTHROUGH that allows to make statements that they are to the DB2 database without be analyzed in Oracle.

    As for the ORA-600 error that you get this error is caused when your DB2 table contains certain character inspired columns that exceed the accuracy of the Oracle and are then mapped to the Oracle long data types. Normally in Oracle each table can have a long column. But to be able to select with the gateways of databases foreign this restriction has been slightly improved and more recent Oracle software can choose from the tables that contain more then a long.

    So, could you please be more specific what program you use to select using the gateway fails with ORA-600 and could you please post your description of the table as it is stored in your DB2 database as seen using the gateway in SQL * more: desc (your DB2 table > @)

    -Klaus

  • Removal of the custom by TestStand 4.0 data types

    Hello! I use the custom in my TestStand sequence data type. This data type is derived from my own control and is a huge cluster of clusters. It is created in a file of sequence (and not in any *.ini). By changes in the sequence, it becomes necessary to delete existing custom data type and create a new one due to changes in the custom control. How can I remove custom data types?

    I n ' found any possibility to do in Teststand menus. It was not so important, if the custom data type was not so huge.

    Thank you in advance for your answer - maybe it's a workout if no direct solution?

    Hello

    Just see the Type of data in the file in the sequence and highlight the custom data type it, then delete it.

    (Please make sure that you do not have variables defined in your file of sequence that still use the data type you want to remove).

    Concerning

    Ray Farmer

Maybe you are looking for