Transient VO insert error-Attempting to insert row with no matching EO base

Hi ,
I have a transient Vo (created using option - rows populated programmatically, not based on Query) and I need to uptade/insert rows in vo on click of a button.
when i nsert row, i get following error
oracle.jbo.InvalidOperException: JBO-26020: Attempting to insert row with no matching EO base
This is what I am doing in my code
ViewObject vo2 = am.findViewObject("TransientVO1");
vo2.executeQuery();
if (vo2 == null) {System.out.println("vo2 is null");}
if (vo2 != null)
System.out.println("in vo2 != null");
Row row2 = vo2.createRow();
row2.setAttribute("PlatformName", "ss");
row2.setAttribute("UserName", "ss");
vo.insertRow(row2);
System.out.println(" vo2.getRowCount()"+ vo2.getRowCount());
Why is it saying no EO base... is it mandatory to have EO for transient VO? Please help.
Thanks

The EO handles all DML, hence you need it if you have to set attributes in a VO. An EO handles the storage of a the single row (or part if your VO consists of multiple tables).
You can try and overwrite the setter method of the attributes in ViewRowImpl class and store the changes somewhere else.
Timo

Similar Messages

  • JBO-26020: Attempting to insert row with no matching EO base

    Hi All,
    I have a bit of a problem here. The following is some background information. Please help if possible.
    Aim: I have a custom application whereby I need to add the sequence value (assuming the sequence.nextval is already taken and stored into a variable/original table) to my custom table.
    Procedures taken: I have found the EO which gets the sequence value for the original application and the VO that gets the EO. I have added both EO and VO to my project and tried to add the VO to my custom AM. In my custom AM I have added the following code to initialize the create function of the standard EO:
    **********CODE******************
    OAViewObject vo3 = (OAViewObject)getRegRequestsVO1();
    if (!vo3.isPreparedForExecution())
    vo3.executeQuery();
    Row row = vo.createRow();
    vo3.insertRow(row);
    row3.setNewRowState(Row.STATUS_INITIALIZED);
    Problem: However when I use the code vo3.insertRow(row); it prompts me with the applicaiton error of JBO-26020: Attempting to insert row with no matching EO base. I don't quite understand what I am doing wrong.
    Can anyone please help.
    Cheers

    This i have find out .
    FYI...
    JBO-26020: InvalidOperException
    Cause: The application code tried to take a row from one row set (or view object) and insert it into another row set (view object). In response, the framework will make a "copy" of the row in the new row set. This new row will share references to the underlying entity objects. However, if the source and destination row sets do not share any entity object bases at all, this operation will fail as it does not find any entity rows to share.
    Action: When attempting to take a row from one row set and insert into another, make sure that they share at least one entity object base.
    Thanks

  • Acroexch error attempting to insert a PDF object into Word 2013 document

    Is there a file extension to correct this problem?

    I'm amazed this still works at all. It seems to work for some people with Adobe Acrobat (NOT Adobe Reader). But all it does insert an icon, it doesn't seem a feature of any value or interest.

  • Errors when editing a row with duplicate names

    I have a table where some of the rows has same names and I changed my primary and secondary column names to display them correctly (Or else i get row fetch error). Now when I try to edit these rows that share the same names i get ORA-20001: Error in DML: p_rowid=DCDD, p_alt_rowid=ID, p_rowid2=MVS, p_alt_rowid2=MPS. ORA-01422: exact fetch returns more than requested number of rows
    Can someone help me figure out what is wrong here? It seems there is a overlap of rows somewhere? I am still not sure how I use the primary and secondary column names. thanks

    SQL> select * from mytable;
          COL1       COL2
             1          2
             1          2
    SQL> DECLARE
      2  V_VAR1 NUMBER(2);
      3  BEGIN
      4  SELECT COL1 INTO v_var1
      5  FROM MYTABLE
      6  WHERE COL1 = 1;
      7  END;
      8  /
    DECLARE
    ERROR at line 1:
    ORA-01422: exact fetch returns more than requested number of rows
    ORA-06512: at line 4In the above case, I am using an implicit cursor to retrieve multiple values into the same variable. That will not work. I may have to use a collection or an
    explicit cursor.

  • "System error: Move error" on comparing DATE rows with literal timestamps

    say, I have a table consisting of a DATE and a TIMESTAMP column:
      create table test (
      d date,
      ts timestamp
    now the problem:
    when I try to retrieve values using a statement like this (using MaxDB's SQL Studio or via JDBC):
      select * from test
      where  d >= {ts '2007-06-18 12:19:45'}
    it produces the following error:
      General error;-9111 POS(36) System error: Move error
    So, I am not able to compare DATE columns with timestamp values?
    In contrast, the following combinations all work flawlessly:
      select * from test
      where  d >= {ts '2007-06-18 12:19:45'}
      select * from test
      where ts >= {d '2007-06-18'}
      select * from test
      where  ts >= {ts '2007-06-18 12:19:45'}
    Thus, the opposite direction (comparing a TIMESTAMP column to a literal date value) apparently poses no problem to the MaxDB database engine.
    Unfortunately, I cannot just resort to "truncating" the timestamp values and using the {d ...}-Syntax, because I am using Apache's Torque object-relational mapper which generates the statement like this and feeds the JDBC API with it. Anyway, I deem this a bug in MaxDB, especially with respect to the quite obscure error message.
    I can reproduce this issue on both MaxDB 7.5 and 7.6 server, using client software (SQL Studio), version 7.5 and 7.6 as well.
    Does anybody know this problem?
    TIA,
    Alex

    Hi,
    this is a new bug and we will fix it with one of the next versions of MaxDB.
    You can watch the proceeding in our internal bug tracking system:
    http://www.sapdb.org/webpts?wptsdetail=yes&ErrorType=0&ErrorID=1151609
    Thank you for reporting it.
    Kind regards
    Holger

  • Sybase Error 2601 Attempt to insert duplicate key row in object with unique

    RE: Sybase Error 2601 Attempt to insert duplicate key row in object with unique index.
    Hi Folks,
    I'm getting the following error whilst executing a stored procedure in Sybase.
    ERROR: Sybase Error 2601 Attempt to insert duplicate key row in object with unique index.
    I understand that duplicate values have been inserted into a column that has a unique constraint.
    I just can't figure out how to rectify the problem.
    Your help will be greatly appreciated!
    Many thanks in advance.

    If the value I'm trying to insert (using update)
    already exists in the unique-value field then the DB
    refuses to update the field.
    If the value is different it will update.Are you trying to insert or update in SQL (identified by the keyword INSERT or UPDATE respectively)?
    Even in case of an UPDATE query, if you are going to update the values of some columns to violate the unique constraints, the update will not succeed and you will get the error message.
    or is it?
    it tries to create a new row, but can't because there
    is another row with the same unique-values.
    If this is the case, I am only trying to update and
    not create a new item.To put it in simpler words, if you have a set of values defining the uniqueness of a record, you cannot insert another record with the same set of unique values. Similarly, you cannot update an existing record by modifying the set to conflict with another set of unique values which already exist in the database.
    Suppose there are two columns A and B defining the uniqueness of the record and you have only two records at the moment like -
    A B
    ========
    1 1
    2 1
    If you try to insert a record with A = 1 and B = 1, it will fail because a record already exists. You cannot violate uniqueness because the database has already been told that there will be only one record for any given combination of A and B.
    Similarly, if you try to update the second record from A = 2 to A = 1, the end result would be A =1 and B = 1. There is already a record with that set of values and this will result in a violation of the uniqueness. So, this update will also be disallowed. On the other hand, if you try to update B to some value, say 3, there is no problem in doing so.
    For convenience, you can imagine an UPDATE operation to be equivalent to DELETE + INSERT operation, though it doesn't necessarily work the same way internally.
    I hope I was clear enough.

  • How to avoid primary key insert error and pipe those would-be error rows to a separate table?

    Hi All,
    Question: How can I ID duplicate values in a particular column before generating a "Violation of PRIMARY KEY constraint" error?
    Background: this SSIS package pulls rows from a remote server table for an insert to a local table.  The local table is truncated in step 1 of this package.  One of the source columns, "ProductName," is a varchar(50) NOT NULL, with no
    constraints at all.  In the destination table, that column has a primary key constraint.  Even so, we don't expect duplicate primary key inserts due to the source data query.  Nevertheless, I've been
    tasked with identifying any duplicate ProductName values that may try to get inserted, piping them all to a "DuplicateInsertAttempt_ProductName" table, and sending an email to the interested parties.  Since I have no way of knowing which row
    should be imported and which should not, I assume the best method is to pipe all rows with a duplicate ProductName out so somebody else can determine which is right and which is wrong, at which point we'll need to improve the query of the source table.
    What's the proper way to do this?  I assume the "DuplicateInsertAttempt_ProductName" table needs identical schema to the import target table, but without any constraints.  I also assume I must ID the duplicate values before attempting
    the import so that no error is generated, but I'm not sure how to do this.
    Any help would be greatly appreciated.
    Thanks,
    Eric

    agree about preventing a dupe or other error on some inconsequential dimension from killing a data mart load that takes a few hrs to run and is an important reporting system.
    I looked into using the error output before, but i think it came up a bit short...
    This is going from memory from a few years ago, but the columnid that comes out of the error data flow is an internal id for the column in the buffer that can't be easily used to get the column name.
    No 'in flight'/in-process way exists to get the column name via something like thisbuffer.column[columnid].name unfortunately
    In theory, the only way to get the column name was to initialise another version of the package (via loading the .dtsx xml) using the SMO .net libraries. I say in theory because I stopped considering it an option at that point
    And the error code is fairly generic as well if i remember correctly. It's not the error that comes out of the db (Violation of UNIQUE KEY constraint 'x'. Cannot insert duplicate key in object 'dbo.y'. The duplicate key value is (y).)  It's a generic
    'insert failed'/'a constraint failed' type msg.
    I usually leave the default ssis logging to handle all errors (and log them in the sysssislog table), and then I explicitly handle specific exceptions like dupes that I don't want to fail package/parent on error
    Jakub @ Adelaide, Australia Blog

  • .mac sync error msg "attempt to insert nil value

    I've been trying to reset .Mac sync, and I keep getting this error msg
    *(NSCFDictionary setObject:forKey:]: attempt to insert nil value
    what is this?

    A bug; probably the result of a corrupt schema. If you really want to wipe the slate clean you can get rid of ~/Library/Application Support/SyncServices/Local, but you should make sure you have a backup handy just in case you lose something you care about in the process.

  • Attempt to insert nil key error

    In my mail preferences, when I go to edit the outgoing server list, the drop down flicker a second but the window to edit the list never comes up. I checked the console log and get two of the messages pasted in below. Any ideas!?
    9/2/10 7:27:29 AM Mail[84563] * -[NSCFDictionary setObject:forKey:]: attempt to insert nil key
    Stack Trace: (
    2438687984,
    2534180076,
    etc.

    Either one of these articles may assist you
    Lion Server: When binding an Lion Open Directory Server using SSL, "Unable to add server" appears
    http://support.apple.com/kb/TS3958
    or
    Mac OS X v10.7: Unable to connect to a Mac OS X v10.6 Open Directory Server
    http://support.apple.com/kb/TS3861?viewlocale=en_US

  • Log Exceptions on Insert, Erroring on PK Violation

    I have a process that inserts into a table with an append hint. When the insert is based on a select, primary key exceptions propogate to the code and error:
    *1. Create table and error table:*
    SQL>CREATE TABLE test
      2    (col1 NUMBER(10)    CONSTRAINT test_pk01 PRIMARY KEY
      3    );
    Table created.
    SQL>
    SQL>exec dbms_errlog.create_error_log(dml_table_name=>'TEST',err_log_table_name=>'TEST_ERRORS')
    PL/SQL procedure successfully completed.*2. Put a row in:*
    SQL>INSERT INTO test
      2    (col1
      3    )
      4  VALUES
      5    (1
      6    );
    1 row created.*3. Attempt to put rows in that violated the PK with and without append hint:*
    SQL>INSERT INTO test
      2    (col1
      3    )
      4  VALUES
      5    (1
      6    )
      7  LOG ERRORS INTO test_errors
      8  REJECT LIMIT UNLIMITED;
    0 rows created.
    SQL>INSERT /*+ APPEND */ INTO test
      2    (col1
      3    )
      4  VALUES
      5    (1
      6    )
      7  LOG ERRORS INTO test_errors
      8  REJECT LIMIT UNLIMITED;
    0 rows created.
    SQL>SELECT ORA_ERR_MESG$
      2        ,col1 col_1
      3  FROM test_errors;
    ORA_ERR_MESG$                                                          COL_1
    ORA-00001: unique constraint (DW2.TEST_PK01) violated                  1
    ORA-00001: unique constraint (DW2.TEST_PK01) violated                  1So far so good, the code is behaving
    *4. Attempt to Violate the PK with a select in the query (and no append hint):*
    SQL>INSERT INTO test
      2    (col1
      3    )
      4    (select 1 from dual)
      5  LOG ERRORS INTO test_errors
      6  REJECT LIMIT UNLIMITED;
    0 rows created.
    SQL>SELECT ORA_ERR_MESG$
      2        ,col1 col_1
      3  FROM test_errors;
    ORA_ERR_MESG$                                                          COL_1
    ORA-00001: unique constraint (DW2.TEST_PK01) violated                  1
    ORA-00001: unique constraint (DW2.TEST_PK01) violated                  1
    ORA-00001: unique constraint (DW2.TEST_PK01) violated                  1Still OK
    *5. Attempt to violate the PK with a select and an append hint:*
    SQL>INSERT /*+ APPEND */ INTO test
      2    (col1
      3    )
      4    (select 1 from dual)
      5  LOG ERRORS INTO test_errors
      6  REJECT LIMIT UNLIMITED;
    INSERT /*+ APPEND */ INTO test
    ERROR at line 1:
    ORA-00001: unique constraint (DW2.TEST_PK01) violated
    SQL>SELECT ORA_ERR_MESG$
      2        ,col1 col_1
      3  FROM test_errors;
    ORA_ERR_MESG$                                                          COL_1
    ORA-00001: unique constraint (DW2.TEST_PK01) violated                  1
    ORA-00001: unique constraint (DW2.TEST_PK01) violated                  1
    ORA-00001: unique constraint (DW2.TEST_PK01) violated                  1Now I get an error instead of a logged exception
    I've reproduced this on 11.2.0.1.0 & 10.2.0.4.0, both running on windows
    SQL>select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE    11.2.0.1.0      Production
    TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - ProductionThe Oracle Knowledge Base is timing out on me at the moment ...
    Thank you for taking the time to have a look.
    Ben

    user503699 wrote:
    bencol wrote:
    The Oracle Knowledge Base is timing out on me at the moment ...
    Thank you for taking the time to have a look.In the case, where you do a "INSERT /*+ APPEND */..VALUES", the hint is ignored as it is not valid (till 10gR2 atleast).
    That statement is executed as conventional INSERT and hence you get error logging. When you do "INSERT /*+ APPEND */...SELECT", oracle attempts to use direct path insert and reports error, ignoring the LOG ERRORS clause, as mentioned in the documentation.11g has introduced an APPEND_VALUES hint to enable direct-path to work with "INSERT INTO...VALUES" syntax.
    What do you get when you use APPEND_VALUES hint, in place of APPEND in your INSERT INTO...VALUES example?

  • Grtting error Attempt to access dead view row of persistent id 1

    Hi,
    I have created one custom method which takes two object:
    Method is:
    public void testDeprtment(DepartmentsViewRowImpl department,CountriesViewRowImpl Country){
    try{
    ViewObjectImpl departmentView = getDepartmentsView1();
    ViewObjectImpl countryView= getCountriesView1();
    departmentView.insertRow(department);
    countryView.insertRow(Country);
    }catch(Exception e){
    e.printStackTrace();
    In my application I have connected the Depatment with Employee and Country with Location table.
    Now I am passing the values for the Department Object(Values for both Department and Employee) and Country Object(Values for both Countries and Location)
    It is inserting the records on all the four tables but it is giving me the error after inserting.
    Error: Attempt to access dead view row of persistent id 1
    I am using Jdeveloper 11.1.1.5
    Thanks,
    Vicky

    Is this in an Application Module method that you call from a backing bean? If this is the case, try using CreateInsert instead of Create so you can avoid calling this method just to insert the rows.

  • Error on first insert to temporary table

    I get an error on my first attempt to insert a row in a temporary table. Subsequent inserts work fine. It would seem that Oracle is having a hard time allocating a segment for the temporary data.
    I am running Oracle 8.1.5 on Redhat 6.1 (2.2.14).
    In SQL/Plus I created the table with:
    CREATE GLOBAL TEMPORARY TABLE minktest
    doc_id INTEGER PRIMARY KEY,
    count INTEGER
    ) ON COMMIT DELETE ROWS;
    Then, quiting SQL/Plus and reconnecting I do a:
    INSERT INTO minktest ( doc_id, count ) VALUES ( 1, 17 );
    And voila, I get the following error:
    ERROR at line 1:
    ORA-00600: internal error code, arguments: [2656], [], [], [], [], [], [], []
    I try to insert the row a second time, it works fine.
    Any ideas?
    -Mink
    null

    I had the same problem on Windows NT.
    Didn't occure any more after omitting the primary key:
    CREATE GLOBAL TEMPORARY TABLE minktest
    doc_id INTEGER,
    count INTEGER
    ) ON COMMIT DELETE ROWS;

  • Error while running insert /*+ append */

    Hi All ,
    Can any one tell me what is the issue here ..
    i am trying insert data like below
    insert /*+ append */ into test select /*+ parallel(a,4) */ * from test_temp a
    ERROR at line 1:
    ORA-00603: ORACLE server session terminated by fatal error
    test has got 21 columns and out of which 20 cols are indexed and test and test_temp has got 1M rows.
    Oracle version is 10gr2.
    Please help
    Thanks

    What was the fatal error? There should be a trace file generated and I believe an ORA-00603 will write the stack trace to the alert log.
    Justin

  • Where is the syntax error in my Insert statement?

    It says that there is a syntax error in my insert statement, pointing to the .ExecuteNonQuery() at the end:
    'Defining the activity ID from the datatable
    Dim ActivityID As Integer = DataTableActivities.Rows(0).Item(0)
    'Defining the calories from the datatable
    Dim calories As Decimal = (DataTableActivities.Rows(0).Item(3)) * (DurationNum.Value / 60)
    'Insert statement to add new training events
    Dim SqlQueryActivityInsert As String = "INSERT INTO tblTraining (RunnerID, ActivityID, Full_Name, Time, Calories_Burnt, Date) VALUES (@RunnerID, @ActivityID, @Full_Name, @Time, @Calories, @Date)"
    Dim SqlCommandActivity As New OleDbCommand
    With SqlCommandActivity
    .CommandText = SqlQueryActivityInsert
    .Parameters.AddWithValue("@RunnerID", LoginForm.UserIDlbl.Text)
    .Parameters.AddWithValue("@ActivityID", ActivityID)
    .Parameters.AddWithValue("@Full_Name", LoginForm.Full_Namelbl.Text)
    .Parameters.AddWithValue("@Time", DurationNum.Value)
    .Parameters.AddWithValue("@Calories", calories)
    .Parameters.AddWithValue("@Date", WeekPicker.Value)
    .Connection = conn
    .ExecuteNonQuery()

    Viorel is right.  The 'Date' field is probably throwing it off.  Date is a reserved word. 
    https://www.drupal.org/node/141051
    Putting square brackets [] around the field name should get it working for you.
    Knowledge is the only thing that I can give you, and still retain, and we are both better off for it.

  • How to resolve ORA-00001 Error in SQL Insert?

    Hi all, I need your appreciated help.
    I make a plsql procedure that is inserting a row according cursor value, I'm having oracle error ORA-00001: unique constraint (constraint_name) violated.
    You may see this message if a duplicate entry exists at a different level: in RDBMS MySQL I have the syntax IGNORE to resolve this duplication error... and in Oracle ?
    Thanks for your time and hints.
    Miguelito

    user6317803 wrote:
    How to resolve ORA-00001 Error in SQL Insert?ORA-00001 means table has unique/primary key/index and you are trying to insert a row with key value that already exists in the table. I'll assume table COUNTRIES has primary key on COUNTRY_ID. Then change SQL to:
    SQL = "INSERT INTO COUNTRIES(COUNTRY_ID,COUNTRY_NAME,REGION_ID) SELECT 'BZ','BLZ',3 FROM DUAL WHERE NOT EXISTS(SELECT 1 FROM COUNTRIES WHERE COUNTRY_ID = 'BZ')"There is a good chance table COUNTRIES also has unique key/index on COUNTRY_NAME. If so use:
    SQL = "INSERT INTO COUNTRIES(COUNTRY_ID,COUNTRY_NAME,REGION_ID) SELECT 'BZ','BLZ',3 FROM DUAL WHERE NOT EXISTS(SELECT 1 FROM COUNTRIES WHERE COUNTRY_ID = 'BZ' OR COUNTRY_NAME = 'BLZ')"SY.

Maybe you are looking for