ORA-00600 From TOracleDataSet

Oracle8 Enterprise Release 8.0.4.1.0
oci.dll 11/05/2000 (no internal version)
CodeGear Delphi 2007 for Win32 R2 v 11.0.2902.10471
Windows Server 2000, All patches
Citrix Metaframe 1.5
Direct Oracle Access 407

Problem: Post from a TOraclewwDataSet results in ORA-00600. Test consists of updating a single field (original application has 10 fields to update). Error occurred with the latest Direct Oracle Access components, downgraded to oldest possible for current environment.

Notes: Ran test with standard TOracleDataSet, same results. Notes from Marco in the forums suggest bind variables could be to blame if they result in the same error in SQL*PLUS. Test with bind variables in SQL*PLUS was successful - no ORA errors.

Note about age of oci.dll and the server: PL/SQL Developer - issuing a single column update also results in success (I use PL/SQL Developer with this old database, executing queries, debugging stored procedures -- all without problems). Also, various Delphi applications have run without incident for years before this fatal error started occuring.

Add: TOracleQuery update of the same table/column is successful.

Stacktrace:
main thread ($1af8):
004e41dc +090 OraTest.exe DB 2479 +3 DatabaseError
00546233 +7eb OraTest.exe OracleData TOracleDataSet.InternalInsertUpdate
005462d4 +000 OraTest.exe OracleData TOracleDataSet.InternalUpdate
005436d7 +067 OraTest.exe OracleData TOracleDataSet.InternalPost
004f48c5 +029 OraTest.exe DB 10816 +5 TDataSet.CheckOperation
004f4560 +048 OraTest.exe DB 10673 +7 TDataSet.Post
00543649 +049 OraTest.exe OracleData TOracleDataSet.Post
00639dfd +025 OraTest.exe Unit1 96 +2 TForm1.btnClick


Add: Using Oracle Monitor, the query and values being executed looks correct.

update DMXUSERS
set DISCREPANCY = :v26
where rowid = :doa__rowid
returning rowid into :doa__rowid

 
Last edited:
Solution: Reverted back to the version of Delphi closest to the version of Oracle -- Delphi 7, Direct Oracle Access v3.4

The ORA-00600 error no longer occurs when posting from the TOraclewwDataset or TOracleDataSet.
 
Back
Top