Page 1 of 1

Oracle 7 : MultiThread => Access violation in Ora73.dll

Posted: Thu 06 Nov 2008 10:46
by sandrine
Environment :
Delphi 7
Oracle client 7.3.4
Oracle server 7.3
ODAC 6.70.0.41

We have a project with several threads fetching data in the database. Each thread uses its own connection to the database.
After a while, in every thread, we have "access violation in ora73.dll" when fetching data.
In odac sources, I found the problem was coming from this procedure in Oracall.pas :

Code: Select all

procedure SetThreadSafety(Value: boolean);
begin
  if OCI73 in PossibleOCICallStyles then begin
    ThreadSafety := Value;
{    if ThreadSafety then  
      opinit(OCI_EV_TSF) 
    else                  }
      opinit(OCI_EV_DEF); // for nonblock break
  end;
end;
Why are this three lines commented ?

Code: Select all

 if ThreadSafety then  
      opinit(OCI_EV_TSF) 
    else 
When uncommented them, our project works fine.

What happens elsewhere if we uncomment these lines ?

Posted: Tue 11 Nov 2008 08:21
by Plash
This code was commented very long time ago, and we don't know the cause of this.

I think you can uncomment it without any problems.