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
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}
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