ORA-00600:internal error code

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
kithran
Posts: 13
Joined: Wed 05 Oct 2005 08:20

ORA-00600:internal error code

Post by kithran » Wed 05 Oct 2005 08:39

I'm getting the above error message (followed by a number of arguments and empty square brakets, exact contents differ) when attempting to use a TOraQuery connected to an Oracle 9i database.

The contents of the OraQuery.SQL are as follows:

Code: Select all

select
  F_DVR_ID, F_DVR_FORENAME, F_DVR_SURNAME, B.F_ADD_ADDR1,
  A.F_ADD_NAME,F_DVR_COST_CTR,E.F_CUS_CUS_NAME,F_DVR_CUST_ID
from
  T_FM_DRIVER,T_SH_ADDRESS A,T_SH_ADDRESS B,T_SH_CUSTOMER E,T_SH_OWNING_COMPANIES D
where
  F_DVR_COST_CTR=A.F_ADD_ID(+)
and
  F_DVR_CUST_ID=E.F_CUS_ID
and
  E.F_CUS_ID=D.F_OWN_ACCREF
and
  D.F_OWN_TYPE='C'    
and
  D.F_OWN_ID=:F_OWN_ID 
and
  F_DVR_DELETED'Y'  
and
  ((F_DVR_CUST_ID IN (SELECT 
                        B.F_CUS_ID
                      FROM
                        T_SH_CUSTOMER B
                      WHERE
                        B.F_CUS_CUS_GRP_CODE=(SELECT C.F_CUS_CUS_GRP_CODE FROM T_SH_CUSTOMER C where C.F_CUS_ID=:F_DVR_CUST_ID))) or
    (F_DVR_CUST_ID = :F_DVR_CUST_ID))
and
  F_DVR_ADDR_ID=B.F_ADD_ID
and
  UPPER(F_DVR_SURNAME) like UPPER(:F_DVR_SURNAME)
and
  UPPER(A.F_ADD_NAME) like UPPER(:F_ADD_NAME)
order by
  F_DVR_SURNAME,F_DVR_FORENAME,A.F_ADD_NAME
The delphi code calling the query is as follows:

Code: Select all

    { Set the filter code and name }
    CostCode := Trim(fldFilterCostCentre.AsString) + '%';
    DriverName := Trim(fldFilterName.AsString) + '%';

    with TOraQuery(dbgDriver.DataSource.DataSet) do
    begin

      {turn off the query}
      Active:=FALSE;
      {build the base query}
      QFiltered:=FALSE;
      if NotBlank(Drivername) or NotBlank(CostCode) then
      begin
        QFiltered:=TRUE;
      end;
      if AllowAccountingGroup then
      begin
        ParamByName('F_OWN_ID').AsString := CompID;
      end;
      ParamByName('F_DVR_CUST_ID').AsString := CustID;
      ParamByName('F_DVR_SURNAME').AsString := Drivername;
      ParamByName('F_ADD_NAME').AsString := CostCode;
      {Re-activate the query, unless there's no filter, in which case hide the list }
      dbgDriver.Visible:=QFiltered;
      Active:=QFiltered;

    end; {with}
Delphi Version is Delphi 7, ODAC version is 4.50.3.23

The only thing I've been able to find for the oracle error is something indicating memory corruption however the error has occured on multiple different servers.

Anything that could point me in the way of a solution would be appreciated.

Cheers

Paul

Alex
Posts: 655
Joined: Mon 08 Nov 2004 08:39

Post by Alex » Wed 05 Oct 2005 14:10

Please reduce your sample to small demo and include scripts for server side objects.

Post Reply