Print Thread
Page 1 of 2 1 2
Serious Problem when Closing Dataset!!
#37464 03/03/10 12:43 PM
Joined: Mar 2010
Posts: 5
Germany
T
Member
OP Offline
Member
T
Joined: Mar 2010
Posts: 5
Germany
Hi @All
I Ise Delphi 2009 and DOA 4.1.1.0.
I have a serious problem Closing a Toracledataset. I can close it once! After reopen and then try to close it a 'invalid pointer' Error will occur.
This is the Error from Delphi
Code
[1C60A5CD]{doa41d2009.bpl} Oracledata.TOracleDataSet.FreeRowId + $1D
[500041D2]{rtl120.bpl  } System.ErrorAt (Line 4057, "System.pas" + 3) + $4
[1C60A5CD]{doa41d2009.bpl} Oracledata.TOracleDataSet.FreeRowId + $1D
[1C5F7571]{doa41d2009.bpl} Oracledata.TRecordDataList.FreeRecords + $59
[1C5F7125]{doa41d2009.bpl} Oracledata.TRecordDataList + $D
[50006C34]{rtl120.bpl  } System.TObject.Free (Line 9829, "System.pas" + 1) + $4
[1C6088DC]{doa41d2009.bpl} Oracledata.TOracleDataSet.InternalClose + $34
[504943CE]{dbrtl120.bpl} DB.TDataSet.CloseCursor (Line 10649, "DB.pas" + 6) + $4
[50494297]{dbrtl120.bpl} DB.TDataSet.SetActive (Line 10601, "DB.pas" + 21) + $5
[1C5F9F89]{doa41d2009.bpl} Oracledata.TOracleDataSet.InternalSetActive + $F9
[5003FC4E]{rtl120.bpl  } TypInfo.SetOrdProp (Line 1506, "TypInfo.pas" + 31) + $0
[20ABACF2]{designide120.bpl} DesignEditors.TPropertyEditor.SetOrdValue (Line 838, "DesignEditors.pas" + 2) + $E
[20ABBDFB]{designide120.bpl} DesignEditors.TEnumProperty.SetValue (Line 1398, "DesignEditors.pas" + 5) + $4
[20ABA961]{designide120.bpl} DesignEditors.TPropertyEditor.Edit (Line 668, "DesignEditors.pas" + 11) + $14
[207ABC62]{coreide120.bpl} PropInsp.TPropertyInspector.PropListEditDblClick (Line 883, "PropInsp.pas" + 20) + $5
[20BA7451]{vclide120.bpl} IDEInspListBox.TInspListBox.DoEditDblClick (Line 976, "IDEInspListBox.pas" + 2) + $A
[20BA8C92]{vclide120.bpl} IDEInspListBox.TInspListBox.EditDblClick (Line 1546, "IDEInspListBox.pas" + 0) + $2
[501C5BE1]{vcl120.bpl  } Controls.TControl.DblClick (Line 6763, "Controls.pas" + 1) + $14
[501C5D44]{vcl120.bpl  } Controls.TControl.WMLButtonDblClk (Line 6806, "Controls.pas" + 4) + $C
[501C565A]{vcl120.bpl  } Controls.TControl.WndProc (Line 6642, "Controls.pas" + 91) + $6
[501C9640]{vcl120.bpl  } Controls.TWinControl.IsControlMouseMsg (Line 9129, "Controls.pas" + 9) + $25
[501C9CE7]{vcl120.bpl  } Controls.TWinControl.WndProc (Line 9336, "Controls.pas" + 136) + $6
[20BA65F3]{vclide120.bpl} IDEInspListBox.TPropInspEdit.WndProc (Line 439, "IDEInspListBox.pas" + 7) + $4
[501C9400]{vcl120.bpl  } Controls.TWinControl.MainWndProc (Line 9065, "Controls.pas" + 3) + $6
[500591DC]{rtl120.bpl  } Classes.StdWndProc (Line 12703, "Classes.pas" + 8) + $0
[501EFC55]{vcl120.bpl  } Forms.TApplication.StopHintTimer (Line 10390, "Forms.pas" + 3) + $6
[501EEABD]{vcl120.bpl  } Forms.TApplication.ProcessMessage (Line 9660, "Forms.pas" + 30) + $1
[501EEB02]{vcl120.bpl  } Forms.TApplication.HandleMessage (Line 9690, "Forms.pas" + 1) + $4
[501EEE2D]{vcl120.bpl  } Forms.TApplication.Run (Line 9827, "Forms.pas" + 26) + $3
[004259E6]{bds.exe     } bds.bds (Line 198, "" + 8) + $FFFB

The SQL Statement in the dataset is
Code
select a.*, a.rowid from HD_Timeseries_Values a where a.TS_ID=:TSID

When I change it to
Code
select a.* from HD_Timeseries_Values a where a.TS_ID=:TSID
all works fine but now I can not insert or append records. frown
It looks like a problem with the rowid.
It is not an Oracle instance problem. The error also occurs on other databases.
What can I do to get the program run?

Re: Serious Problem when Closing Dataset!!
ThomasW69 #37476 03/04/10 10:23 AM
Joined: Aug 1999
Posts: 22,221
Member
Offline
Member
Joined: Aug 1999
Posts: 22,221
Can you isolate the dataset in a demo project and send it to me so that I can reproduce it? Please also include the creation DDL for the database object(s) involved.


Marco Kalter
Allround Automations
Re: Serious Problem when Closing Dataset!!
Marco Kalter #37571 03/11/10 09:52 AM
Joined: Mar 2010
Posts: 3
D
Member
Offline
Member
D
Joined: Mar 2010
Posts: 3
Hi. I have same problem on some datasets:

Delphi 2010, DOA 4.1.2.0, Oracle 10.2. Some fields in database declared as NVARCHAR2.

The SQL Statement in the TOracleDataSet is:
SQL Query
SELECT g.*, g.ROWID
  FROM ware.gp2compl_spec g
 WHERE condid = :CONDID
ROWID value is [quote]*BAEALFIDwgwzA8ICKgTDC1lW/g[/quote]vsize(g.rowid) = 20

Error message and situation was described by ThomasW69.

In Delphi 2005 this TOracleDataSet works fine.

Last edited by Dron; 03/11/10 10:03 AM.
Re: Serious Problem when Closing Dataset!!
Dron #37573 03/11/10 10:30 AM
Joined: Aug 1999
Posts: 22,221
Member
Offline
Member
Joined: Aug 1999
Posts: 22,221
Is this with an index organized table?


Marco Kalter
Allround Automations
Re: Serious Problem when Closing Dataset!!
Marco Kalter #37589 03/12/10 07:53 AM
Joined: Mar 2010
Posts: 3
D
Member
Offline
Member
D
Joined: Mar 2010
Posts: 3
Yes, this is an index organized table.

Re: Serious Problem when Closing Dataset!!
Dron #37590 03/12/10 09:54 AM
Joined: Aug 1999
Posts: 22,221
Member
Offline
Member
Joined: Aug 1999
Posts: 22,221
Okay, we'll have a fix for this shortly.


Marco Kalter
Allround Automations
Re: Serious Problem when Closing Dataset!!
Marco Kalter #37645 03/19/10 10:49 AM
Joined: Aug 1999
Posts: 22,221
Member
Offline
Member
Joined: Aug 1999
Posts: 22,221
Can you try this preliminary fix? Let me know how this turns out.


Marco Kalter
Allround Automations
Re: Serious Problem when Closing Dataset!!
Marco Kalter #37654 03/22/10 07:43 AM
Joined: Mar 2010
Posts: 3
D
Member
Offline
Member
D
Joined: Mar 2010
Posts: 3
Thank you, Marco.
Now index organized tables works fine with rowid.

Re: Serious Problem when Closing Dataset!!
Marco Kalter #44360 08/08/12 12:00 PM
Joined: Apr 2003
Posts: 84
Parma, Italy
N
Member
Offline
Member
N
Joined: Apr 2003
Posts: 84
Parma, Italy
Hi Marco,
I seem to have the same problem.
D2010 DOA 4.1.2
Closing and reopening a TOracleDataset causes an invalid pointer operation.
In this case the TOracleDataset contains a pl/sql procedure call that returns a cursor.
There are static fields defined: TFloatField, TDateTimeField and one TWideStringField
With Fast4MM i see something like:

This block was allocated by thread 0xD20, and the stack trace (return addresses) at the time was:
404A96 [System.pas][System][@GetMem][2979]
5C379C [OracleData][TOracleDataSet.AllocRecordBuffer]
597413 [DB.pas][DB][TDataSet.SetBufListSize][12243]
5975A2 [DB.pas][DB][TDataSet.SetBufferCount][12300]
5956AD [DB.pas][DB][TDataSet.DoInternalOpen][11330]
595757 [DB.pas][DB][TDataSet.OpenCursor][11357]
595613 [DB.pas][DB][TDataSet.SetActive][11310]
59545A [DB.pas][DB][TDataSet.Open][11266]

thanks for any help!
Nicola

Re: Serious Problem when Closing Dataset!!
nicofari #44361 08/08/12 12:03 PM
Joined: Apr 2003
Posts: 84
Parma, Italy
N
Member
Offline
Member
N
Joined: Apr 2003
Posts: 84
Parma, Italy
i've just noticed that there is a 4.1.2.2 version, while I have the
4.1.2.0.
Would it be a good idea to install it ?

Page 1 of 2 1 2

Moderated by  support 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.4
(Release build 20200307)
Responsive Width:

PHP: 7.1.33 Page Time: 0.030s Queries: 15 (0.005s) Memory: 2.5753 MB (Peak: 3.0428 MB) Data Comp: Off Server Time: 2024-05-20 16:03:13 UTC
Valid HTML 5 and Valid CSS