Partition name length problem at DML in Table operator

Hello experts
In our datawarehouse we have a table with a high number of partitions (each partition corresponding to a different business object) for solving an issue with data quality. Every time the data quality mapping is run, a truncate on the corresponding partition is performed. But Insert operations on that table are not set on a particular partition and, therefore, lock the table and have a conflict with the truncates if parallel operations are run.
We would like to used the Partition DML functionality at the Table Operator in order to insert just into one partition and prevent locking all of them. Although none of the partition names are longer than 30 characters, OWB (even at the GUI) adds the string "partition: " in front of each name, which causes the length limit to be surpassed.
Any idea about how could we use this functionality without renaming the partitions?

Hey there,
I'm a colleague of the thread starter and like to jump in as this is an issue for us which we need to solve.
Some more infos which might help:
We are running the OWB 11.2.0.3.0 on Windows 32 Bit
We have the following patches installed:
13257502
13473205
None of the later patches has been installed, since none of the Bugs that were fixed affected us.
In a Mapping on a table-Operator we'd like to use "PARTITION DML" for an Insert.
On the GUI when selecting the Partition the data should be inserted to (Field: DML Partiton Name), we get the following error (in this instance the partition name is 24 characters long)
"API0407: The minimum length of this filed is 0 and its maximum length is 32. You have 35 characters."
In the Drop-down Menu of DML Partition Name it says "Partition: " in front of every partition there is. Together with a Partition name of 24 Characters it sums up to 35 characters.
So it appears that the maximum length of the partition is limited to 21 characters only because "Partition: " is put in front of it.
This error also appears when editing the Properties of the table operator by OMB*PLUS (from tcl) with
OMBALTER MAPPING 'mapname' MODIFY OPERATOR 'operatorname' SET PROPERTIES (DML_PARTITION_NAME, DML_PARTITION_TYPE, PARTITION_KEY_VALUE_LIST, IS_PARTITION_INDEXED_BY_NAME) VALUES ('$partition', 'PARTITION', '$someEmptyList', 'true')
where it does not make a difference whether $partition is of the form
set partition "Partition: SOMEPARTITIONNAME"
or
set partition "SOMEPARTITIONNAME"
Renaming the Partitions is not an option for us, since our warehouse is running in multiple productive systems and became quite large in the last years.
Is it necessary, that "Partition: " is put infront of the partition name? Is there a way around this? Isn't the field DML_PARTITION_TYPE supposed to store the Information whether it is a partion or a subpartition?
If you wanted to use subpartitions, does the name of the subpartition then need to be even shorter since "Subpartiton: " is put infront?
Thanks in advance for any help or suggestions. If you need further Information, feel free to ask, I am more than happy to supply it.
Best Regards
Thorsten

Similar Messages

  • Report Name Length Problem

    Hies
    Guys I've a problem in oracle report calling from Oracle FORMS. I am using reports and forms 6i. When the report name length is more than 30 characters the report engine runs first time correctly but on the second call of report the system gives an error :
    " RWRBE60.exe has generated errors and will be closed by windows.You will need to restart the program ".
    After this error the report engine closes and i have to call the report again.
    Is there a length fixed for reports name in Oracle 6i.
    Is any possible solution available.
    Remember i dont want to shorten my report names.
    Kindly help me with this.
    Thanx.

    There may be a limit, but I'm not aware of any. I never ran accross a limit. You may try the latest patch to see if it helps. What is your exact Developer version?
    But I really have never seen report names of more than 10 characters or so. Almost every application has some short program coding, like xyz_0010.rep, r_emp.rep etc.
    Do you mean the the name including the full path is more than 30 characters? If you put the path in the REPORTS60_PATH variable, your report names don't have to include the path.

  • Not able to change the name of the attribute of the Table operator.

    We are trying to create OMB scripts to automate certain tasks. As a part of this, there is a requirement to change the attribute name of table operators (which by default gets the name of the column). It is possible to change the attribute name from the GUI. But I was not able to do the same using OMB Scripting. Here is the script I used.
    OMBALTER MAPPING 'TEST' \
    MODIFY ATTRIBUTE 'GEOGRAPHY_ID' OF GROUP 'INOUTGRP1' OF OPERATOR 'TEST' \
    SET PROPERTIES(BUSINESS_NAME,PRECISION,DESCRIPTION) \
    VALUES('MEMBER_ID',2,'MEMBER')
    This script was to change the name of the attribute - GEOGRAPHY_ID of the table operator TEST.
    From what I can make out from the Scripting reference, changing BUSINESS_NAME of the attribute should do the trick but it is not happening. The syntax looks correct as the precision of the column changes.
    Am I missing something? Or is it a limitation or a bug?
    I use OWB client 10.2.0.1.25 and OWB repository 10.2.0.1.0.

    Hi!
    I'm using successfully
    OMBALTER MAPPING '$mapName' MODIFY ATTRIBUTE '$attrName' OF GROUP '$groupName' OF OPERATOR '$joinName' RENAME TO '$newName'
    Regards,
    Carsten.

  • Problem with Cast and table operator

    Hi ,
    Am using Table and cast opertor to fetch the data from a collection using a ref cursor as follows
    OPEN test_cur for
    SELECT first_name, Last_name from table(cast( V_Test_collection as Test_Array));
    This works but when i tried to fetch the date using following query and ref cursor then i received ORA-00604 and ORA 01003.
    I used string containg the query like follows
    V_SQL:= ' SELECT first_name, Last_name from table(cast( V_Test_collection as Test_Array))';
    OPEN test_cur for V_SQL;
    I want to pass this V_SQL variable to another procedure that will use it to apply some business logic.Please help me how to resolve this problem.

    Hi, Current procedure is as follows but as per new requirement i have to pass the processed data from this procedure to a common procedure that accepts the string containing the query(Say IN_QUERY) and applies the business logic by fetching the data from this query(IN_QUERY)
    CREATE OR REPLACE PROCEDURE GET_USER_INFO_PRC(USER_ID IN NUMBER,
    TEST_CUR OUT COMMOM_PKG.OUT_REF_CUR,
    O_ERROR_CODE OUT NUMBER,
    O_ERROR_LOCATION OUT VARCHAR2,
    O_ERROR_MESSAGE OUT VARCHAR2) IS
    V_TEST_COLLECTION COMMOM_PKG.WI_INS_SEARCH_ARR_OBJ := WI_INS_SEARCH_ARR_OBJ();
    BEGIN
    Some buniess logic is applied on V_Test_collection to fetch the date in this block
    OPEN TEST_CUR FOR
    SELECT FIRST_NAME, LAST_NAME
    FROM TABLE(CAST(V_TEST_COLLECTION AS TEST_ARRAY));
    Exception handler
    END;

  • Problem with table name lengths.

    Has anyone experienced with table name length problem?
    When tables are created with schema registration, and the name is longer than 14 characters, the table is created. But when I "select * from xxxx_xxxx_xxxx_xxxx" it says that the table doesn't exist.
    What's the max length of a table name? Or is this a problem with XDB?
    Thanks,
    Benjamin

    Found the problem.
    All table names must be all capitalized and seperated with underscore.
    Is there something I need to set in oracle? or is this a bug? The tables are created but can't be accessed because of the case of table name... that doesn't make sense.

  • View/Table Name Length

    I noticed the View/Table Name length in 9i is still 30
    characters. This poses a problem when migrating applications
    from SQLServer to Oracle. Is there a more convenient workaround
    in lieu of renaming object and re-writing the existing
    application code referencing these objects? Are there any plans
    to increase this length in a future release? If so, which
    release?
    Thanks.
    -Brian

    You first understand your conditions and put the detailed query, Don't put the whatever you have in your spec. It is very difficult to understand. Just give me your query then i can help you out
    Warm Regards,
    Vijay

  • Column Name Length of Tables In ODI

    Hello Everyone,
    I am facing with an unique issue in ODI. We are using ODI AIA for Integration, which has default XML exports of some JD Edwards tables.
    These tables are automatically reversed and models are created using AIA, one such file is named Base.xml and is reversed as a Model named 'Base' in ODI. In this model there are various tables which are created on the basis of the contents of XML file. The column names are derived from XML Tags. Some XML tags are having length greater than 30. This does not create a problem in the model as such, but when using it as source in interface, the temporary tables that are created on-the-fly in a schema (Oracle) does not allow the length to be greater than 30 and hence the interface fails (error : Column name length exceeded), add to it, ODI suffixes column names with a Cnumber_. Since the XML file and tags are standard within the AIA, we cannot alter the length.
    So is there a way to reduce the column name length of temporary tables which are created at runtime by ODI based on the source XML files ?
    Thanks in advance,
    NJ

    If you are using temp table that are created on the fly, you can not control the column length, so you have only one alternative just change the column name (less than 30) in model level.
    Thanks

  • File name length causing problems

    I want to use my iPod suffle as a data transfer device as well as a MP3 player and am havign real problems copying folders onto it from my iBook or my desktop G4. Is it the file name lengths that are the pprblem (that's certainly the error message I get sometimes). Or the volume of data that I am trying to copy in one hit (400MB-worth)?

    It seems there is no restrictions in filename's maxlength.
    However, if you check the section 2.3 of this link
    [http://www.faqs.org/rfcs/rfc2183.html|http://www.faqs.org/rfcs/rfc2183.html]
    It says:
    It is important that the receiving MUA not blindly use the suggested
    filename.  The suggested filename SHOULD be checked
    (and possibly changed) to see that it conforms to local filesystem conventions,
    does not overwrite an existing file, and does not present a security problem
    (see Security Considerations below).I tried to test filename's maxlength with different browsers and found that results differ with browsers.
    The HTTP response header nevertheless contained the full filename.
    Above all, IMO avoiding long filename is the best solution.

  • Default partition name for Interval partitioned tables

    Hi ,
    Can we change the default partition names which are generated by Oracle.
    For Example :
    CREATE TABLE part_interval (
    id NUMBER,
    created_date DATE
    PARTITION BY RANGE (created_date)
    INTERVAL (NUMTOYMINTERVAL(1,'MONTH'))
    PARTITION part_01 values LESS THAN (TO_DATE('01-NOV-2007','DD-MON-YYYY'))
    Now if I insert values which doesn't fall in the 01-NOV-2007 date, a new partition is created like SYS_P43. Can I change this default partition name in the SQL statement itself . Not through procedures or functions.
    Regards,
    Raghunathan A
    Edited by: 869187 on Jun 29, 2011 6:08 AM

    869187 wrote:
    Hi ,
    Can we change the default partition names which are generated by Oracle. post SQL & results that show you can change partition names generated by YOU.

  • Get table partition name dynamically for given date range

    Dear All,
    Could you please tell me how to get the partition name dynamicaly for given date range ?
    Thank you.

    SQL> select table_name,
           partition_name,
           to_date (
              trim (
                 '''' from regexp_substr (
                              extractvalue (
                                 dbms_xmlgen.
                                 getxmltype (
                                    'select high_value from all_tab_partitions where table_name='''
                                    || table_name
                                    || ''' and table_owner = '''
                                    || table_owner
                                    || ''' and partition_name = '''
                                    || partition_name
                                    || ''''),
                                 '//text()'),
              'syyyy-mm-dd hh24:mi:ss')
              high_value_in_date_format
      from all_tab_partitions
    where table_name = 'SALES' and table_owner = 'SH'
    TABLE_NAME                     PARTITION_NAME                 HIGH_VALUE_IN_DATE_FORMAT
    SALES                          SALES_1995                     01-JAN-96               
    SALES                          SALES_1996                     01-JAN-97               
    SALES                          SALES_H1_1997                  01-JUL-97               
    SALES                          SALES_H2_1997                  01-JAN-98               
    SALES                          SALES_Q1_1998                  01-APR-98               
    SALES                          SALES_Q2_1998                  01-JUL-98               
    SALES                          SALES_Q3_1998                  01-OKT-98               
    SALES                          SALES_Q4_1998                  01-JAN-99               
    SALES                          SALES_Q1_1999                  01-APR-99               
    SALES                          SALES_Q2_1999                  01-JUL-99               
    SALES                          SALES_Q3_1999                  01-OKT-99               
    SALES                          SALES_Q4_1999                  01-JAN-00               
    SALES                          SALES_Q1_2000                  01-APR-00               
    SALES                          SALES_Q2_2000                  01-JUL-00               
    SALES                          SALES_Q3_2000                  01-OKT-00               
    SALES                          SALES_Q4_2000                  01-JAN-01               
    SALES                          SALES_Q1_2001                  01-APR-01               
    SALES                          SALES_Q2_2001                  01-JUL-01               
    SALES                          SALES_Q3_2001                  01-OKT-01               
    SALES                          SALES_Q4_2001                  01-JAN-02               
    SALES                          SALES_Q1_2002                  01-APR-02               
    SALES                          SALES_Q2_2002                  01-JUL-02               
    SALES                          SALES_Q3_2002                  01-OKT-02               
    SALES                          SALES_Q4_2002                  01-JAN-03               
    SALES                          SALES_Q1_2003                  01-APR-03               
    SALES                          SALES_Q2_2003                  01-JUL-03               
    SALES                          SALES_Q3_2003                  01-OKT-03               
    SALES                          SALES_Q4_2003                  01-JAN-04               
    28 rows selected.

  • Partition exchange doumentation problems

    Oracle 10gR2 EE / Aix5L
    I have a partitioned table on which the primary key is DISABLE VALIDATE and want to exchange a single table with a partition.
    I did that because documentation "UNIQUE Constraints in a Data Warehouse" says :
    "However, there are trade-offs for the data warehouse administrator to consider with DISABLE VALIDATE constraints. Because this constraint is disabled, no DML statements that modify the unique column are permitted against the sales table. You can use one of two strategies for modifying this table in the presence of a constraint:
    * Use DDL to add data to this table (such as exchanging partitions)..."
    Problem #1 :
    "Because this constraint is disabled, no DML statements that modify the unique column are permitted against the sales table."
    That sentence lets suppose that DELETEs or UPDATEs (columns different from PK) should be permitted cause they won't break the uniqueness. That's false. In fact, no DML statements at all are permitted.
    Problem #2 : It's impossible to exchange a single table with a partition when PK is disable Validate (ORA-25132 : UNIQUE constraint (string.string) disabled and validated in ALTER TABLE EXCHANGE PARTITION
    Cause: cannot ALTER TABLE EXCHANGE PARTITION when the partition and the table have a disabled and validated unique constraints AND the unique keys in the partion is not mutually exclusive from the rest of the table.)
    The only way to succeed is to NOValidate the PK, exchange the table and the partition, and Validate the PK. I precise that "Validate PK" succeeds and means that "the unique keys in the partion IS mutually exclusive from the rest of the table."
    Some explanations or advices...
    Thanks for reading my message.

    jpsql wrote:
    For those interested.
    Yes, it is possible to exchange a single table with a partition. The PK of the single table was not VALIDATE. The PK of the partitioned table and the one of the single table have to be both DISBABLED and VALIDATED.Could you elaborate a bit on this? What was exactly the difference to your initial setup? I think I understand that the PK of your unpartitioned table was initially NOT VALIDATED (status ENABLED/DISABLED?) whereas the PK on your partitioned table was VALIDATED, but DISABLED. Now you've VALIDATED the PK of your unpartitioned table (and DISABLED it?) and then you were able to perform the exchange partition without an error message?
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • Help: problem with OS/2 table

    I try programmicaly read OS/2 table.
    First part of table I read without problems, but with the second there are some problems. For example, I want obtain fsSelection value, and for any font this value equal 32(bold). When I obtain macStyle from HEAD table, all right. But values of macStyle and fsSelection must be identical! In what there can be a problem?

    My Code:
    But in panose and vendor information is right. And method of working with tables is the same. But problems only with this table, and I don't know why :(
    typedef struct _tagTT_OFFSET_TABLE{
    USHORT uMajorVersion;
    USHORT uMinorVersion;
    USHORT uNumOfTables;
    USHORT uSearchRange;
    USHORT uEntrySelector;
    USHORT uRangeShift;
    }TT_OFFSET_TABLE;
    typedef struct _tagTT_TABLE_DIRECTORY{
    char szTag[4]; //table name
    ULONG uCheckSum; //Check sum
    ULONG uOffset; //Offset from beginning of file
    ULONG uLength; //length of the table in bytes
    }TT_TABLE_DIRECTORY;
    typedef struct _tagTT_OS_RECORD{
    USHORT version;
    SHORT xAvgCharWidth;
    USHORT usWeightClass;
    USHORT usWidthClass;
    SHORT fsType;
    SHORT ySubscriptXSize;
    SHORT ySubscriptYSize;
    SHORT ySubscriptXOffset;
    SHORT ySubscriptYOffset;
    SHORT ySuperscriptXSize;
    SHORT ySuperscriptYSize;
    SHORT ySuperscriptXOffset;
    SHORT ySuperscriptYOffset;
    SHORT yStrikeoutSize;
    SHORT yStrikeoutPosition;
    SHORT sFamilyClass;
    PANOSE panose;
    ULONG ulUnicodeRange1;
    ULONG ulUnicodeRange2;
    ULONG ulUnicodeRange3;
    ULONG ulUnicodeRange4;
    CHAR achVendID[4];
    USHORT fsSelection;
    USHORT usFirstCharIndex;
    USHORT usLastCharIndex;
    USHORT sTypoAscender;
    USHORT sTypoDescender;
    USHORT sTypoLineGap;
    USHORT usWinAscent;
    USHORT usWinDescent;
    ULONG ulCodePageRange[2];
    }TT_OS_RECORD;
    // structure for writing results
    typedef struct _tagFONT_PROPERTIES{
    CString csName;
    USHORT Weight;
    USHORT Width;
    BOOL bItalic;
    BOOL bUnderline;
    BOOL bStrikeOut;
    USHORT uFamily;
    }FONT_PROPERTIES, *LPFONT_PROPERTIES;
    // from Big Endian to Little Endian
    #define SWAPWORD(x) MAKEWORD(HIBYTE(x), LOBYTE(x))
    #define SWAPLONG(x) MAKELONG(SWAPWORD(HIWORD(x)), SWAPWORD(LOWORD(x)))
    LPFONT_PROPERTIES lpFontProps = new FONT_PROPERTIES;
    CString pstrName = "C:\\WINDOWS\\Fonts\\ANTQUABI.TTF";
    lpFontProps->csName = "";
    GetFontPropertiesFromOS(pstrName, lpFontProps);
    BOOL CMyDlg::GetFontPropertiesFromOS(LPCTSTR lpszFilePath, LPFONT_PROPERTIES lpFontProps)
    CFile f;
    BOOL bRetVal = FALSE;
    if(f.Open(lpszFilePath, CFile::modeRead|CFile::shareDenyWrite)){
    TT_OFFSET_TABLE ttOffsetTable;
    f.Read(&ttOffsetTable, sizeof(TT_OFFSET_TABLE));
    ttOffsetTable.uNumOfTables = SWAPWORD(ttOffsetTable.uNumOfTables);
    ttOffsetTable.uMajorVersion = SWAPWORD(ttOffsetTable.uMajorVersion);
    ttOffsetTable.uMinorVersion = SWAPWORD(ttOffsetTable.uMinorVersion);
    //check is this is a true type font and the version is 1.0
    if(ttOffsetTable.uMajorVersion != 1 || ttOffsetTable.uMinorVersion != 0)
    return bRetVal;
    TT_TABLE_DIRECTORY tblDir;
    BOOL bFoundOS = FALSE;
    CString csTemp;
    for(int i=0; i< ttOffsetTable.uNumOfTables; i++){
    f.Read(&tblDir, sizeof(TT_TABLE_DIRECTORY));
    strncpy(csTemp.GetBuffer(5), tblDir.szTag, 4);
    csTemp.ReleaseBuffer(4);
    if(csTemp.CompareNoCase(_T("OS/2")) == 0){
    bFoundOS = TRUE;
    tblDir.uLength = SWAPLONG(tblDir.uLength);
    tblDir.uOffset = SWAPLONG(tblDir.uOffset);
    break;
    else if(csTemp.IsEmpty())
    break;
    if(bFoundOS)
    int nPos = f.GetPosition();
    f.Seek(tblDir.uOffset, CFile::begin);
    TT_OS_RECORD ttOSRecord;
    bFoundOS = FALSE;
    if(lpFontProps->csName.IsEmpty())
    f.Read(&ttOSRecord, sizeof(TT_OS_RECORD));
    ttOSRecord.version = SWAPWORD(ttOSRecord.version);
    lpFontProps->Weight = SWAPWORD(ttOSRecord.usWeightClass);
    lpFontProps->Width = SWAPWORD(ttOSRecord.usWidthClass);
    ttOSRecord.sFamilyClass = SWAPWORD(ttOSRecord.sFamilyClass);
    // high byte of this field contains the family class
    BYTE hb = HIBYTE(ttOSRecord.sFamilyClass);
    // low byte contains the family subclass
    BYTE lb = LOBYTE(ttOSRecord.sFamilyClass);
    ttOSRecord.fsSelection = SWAPWORD(ttOSRecord.fsSelection); // this is always 32
    lpFontProps->uFamily = ttOSRecord.panose.bFamilyType;
    ttOSRecord.usFirstCharIndex = SWAPWORD(ttOSRecord.usFirstCharIndex);
    bRetVal = TRUE;
    f.Close();
    return bRetVal;

  • Partition Name in Select and Group-By

    Is there a function that returns the partition name a row is stored in? I'd like to use it in a SELECT statement, if it exists.
    The goal is to get row counts per partition to determine skew on a hash-based partition (otherwise, I'd just select and group-by the partition key). I want to do something like this:
    SELECT PARTITION_NAME, COUNT(*) as PER_PART_COUNT
      FROM SOMETABLE
    GROUP BY PARTITION_NAME;Obviously, I would replace the string "*PARTITION_NAME*" with whatever function returns that value.
    NOTE: Before the forum sharks jump all over me, I did search the documentation and forums, but I came up empty handed.

    Hi,
    This is hokey - but you can use the undocumented function "tbl$or$idx$part$num" like so:
    SELECT   atp.partition_name
           , COUNT (*) AS count_rows
        FROM all_tab_partitions atp
           , (SELECT tbl$or$idx$part$num ("SCOTT"."TAB1"
                                        , 0
                                        , 1
                                        , 0
                                        , partition_col1 -- your 1st partition key column
                                        , partition_col2 -- your 2nd partition key column
                                         ) AS part_num
                   , 'TAB1' AS table_name
                   , 'SCOTT' AS owner
                FROM scott.tab1) pt
       WHERE atp.table_name = pt.table_name
         AND atp.table_owner = pt.owner
         AND atp.partition_position = pt.part_num
    GROUP BY atp.partition_name;Note - this probably won't perform well at all... but it could be an option...
    Message was edited by:
    PDaddy
    ... On 2nd thought - don't do it - it seems it is pretty unstable - brought my session to a halt a couple of times... Forget I mentioned it :)
    ... On 3rd thought - if you add ROWNUM - it works fine - seems you need to materialize the result set in the inner query - like so:
    CREATE TABLE part_tab (part_key int
                         , a int
    partition by range (part_key)
    (partition p1 values less than (100)
    ,partition p2 values less than (200)
    ,partition p3 values less than (maxvalue)
    insert into part_tab
    select rownum
         , rownum
    FROM all_objects
    where rownum <= 1000; SELECT atp.partition_name
         , COUNT(*) AS count_rows
    FROM all_tab_partitions atp
       , (SELECT TBL$OR$IDX$PART$NUM("PART_TAB", 0, 1, 0, part_key) AS part_num
               , 'PART_TAB' AS table_name
               , user AS owner
               , ROWNUM AS rn -- Materialize the result set by adding ROWNUM...
          FROM part_tab) pt
    WHERE atp.table_name = pt.table_name
      AND atp.table_owner = pt.owner
      AND atp.partition_position = pt.part_num
    GROUP BY atp.partition_name;

  • WCF-SQL table operation on tables with the same name.

    Hello,
    My situation involves generating table operation schemas (Insert, Update, Delete, Select) for tables in two different SQL databases.  These tables happen to have the same name.  For the sake of discussion lets call the tables dbo.Customer.  However,
    these tables have different fields in them.  When generating the schemas to be used by BizTalk, they end up as the same message type like so:
    Database1: http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/Customer#Update
    Database2: http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/Customer#Update
    To my understanding, I can't simply change the namespaces or root nodes to be unique since this structure is expected by the SQL Adapter (shown here: https://msdn.microsoft.com/en-us/library/dd788023.aspx).  I had a couple thoughts on a solution: 
    Use schema versions to differentiate between the two different table schemas.
    Use a unique namespace and root node for the schemas.  Then, create a custom pipeline component to modify them to the standard as it is sent to SQL server.
    Modify the schema so support both tables with all columns in both tables.
    I don't really like any of these solutions, so I am hoping somebody in the community has run into this situation before and has something better.
    -Richard

    You don't really have to do anything other than make sure the particular message gets routed always to the correct database.
    Having duplicate MessageType's is only a problem if you're relying on the automatic resolution of the XmlDisassembler and that would only be a concern on the Response side.
    To get around that, just create a custom Pipeline with the XmlDisassembler and set the Document Schemas list to only the one for that Port.

  • How can I specify the PARTITION name at the time of data load?

    Hi,
    I have a table with 4 partitions. By using SQL*Loader I'm going to load data into the same. While inserting the records it should go to the 2nd partition only.
    Where should i specify the Partition name?
    Please clarify me with sample code.
    Thanks.

    Assuming that the partition is empty before the load, I would load the data into a temp table with the same structure as the partitioned table. After all the data is successfully loaded, exchange the partition of the table with the temp table using 'alter table ... exchange partition...'
    Another question is, how is your table partitioned?
    Message was edited by:
    Jens Petersen

Maybe you are looking for