Re: Error editing a grid based on a View
Date: Mon, 5 Nov 2007 16:49:44 +0100
"Frank van Bortel" <frank.van.bortel_at_gmail.com> schreef in bericht
> nick048 wrote:
>> Hi to All,
>> First, I use Oracle DB 10g and Forms Builder 10.
>> This is my "scenario":
>> 1) I have create a Form with an header with the Text Items
>> CURRENT_YEAR, FROM_DATE, TO_DATE and a Button Item "Execute", and with
>> a Grid.
>> 2) The button populate according with selections the grid with data
>> from an Oracle view that point to a remote non-oracle DB (SQL Server).
>> For the connection I have used Oracle heterogeneous services.
>> 3) All work fine; the grid is correctly filled.
>> The problem is the editing of grid; if I try to modify a field in a
>> row of grid, this error is displayed:
>> FRM-40501: ORACLE error: unable to reserve record for update or delete
>> I have searched on the web, without appreciable result.
>> I need to edit the row, because I want create with each modified row a
>> new record in a different table of my Oracle DB.
>> Can someone help me ?
>> Best Regards.
> Oracle Forms does not "understand" it cannot lock the record, as
> it is from SQL Server - try defining the grid block, based on
> a procedure.
> Something else strikes as odd: blocks based on views should
> not be updateable (unless insetad-of triggers are used),
> as views cannot be updated. You are sure you want your gird
> Frank van Bortel
> Top-posting is one way to shut me up...
If this is a single table view, you may have to include the rowid of the underlying table (though I don' t know anything about SQL server, does it have one?) I used Heterogenous Services with DB2 and we had to use a rowid-like column in the select. In that case it HAD to be the first column. [Quoted] [Quoted] But it's a loooong time ago, back in '96 or so.... _at_Frank: in Forms single table views can be updated, as long as one provides a 'fake' primary key (being the prim key of the table).
Shakespeare Received on Mon Nov 05 2007 - 16:49:44 CET