Browse Source

* Patch from LaCo to fix bug #25118

git-svn-id: trunk@25733 -
michael 11 years ago
parent
commit
b1b8cc2542
1 changed files with 42 additions and 0 deletions
  1. 42 0
      packages/fcl-db/src/sqldb/oracle/oracleconnection.pp

+ 42 - 0
packages/fcl-db/src/sqldb/oracle/oracleconnection.pp

@@ -94,10 +94,16 @@ type
     constructor Create(AOwner : TComponent); override;
     constructor Create(AOwner : TComponent); override;
   end;
   end;
 
 
+  { TOracleConnectionDef }
+
   TOracleConnectionDef = Class(TConnectionDef)
   TOracleConnectionDef = Class(TConnectionDef)
     Class Function TypeName : String; override;
     Class Function TypeName : String; override;
     Class Function ConnectionClass : TSQLConnectionClass; override;
     Class Function ConnectionClass : TSQLConnectionClass; override;
     Class Function Description : String; override;
     Class Function Description : String; override;
+    Class Function DefaultLibraryName : String; override;
+    Class Function LoadFunction : TLibraryLoadFunction; override;
+    Class Function UnLoadFunction : TLibraryUnLoadFunction; override;
+    Class Function LoadedLibraryName: string; override;
   end;
   end;
 
 
 implementation
 implementation
@@ -1058,6 +1064,42 @@ begin
   Result:='Connect to an Oracle database directly via the client library';
   Result:='Connect to an Oracle database directly via the client library';
 end;
 end;
 
 
+class function TOracleConnectionDef.DefaultLibraryName: String;
+begin
+  {$IfDef LinkDynamically}
+  Result:=ocilib;
+  {$else}
+  Result:='';
+  {$endif}
+end;
+
+class function TOracleConnectionDef.LoadFunction: TLibraryLoadFunction;
+begin
+  {$IfDef LinkDynamically}
+  Result:=@InitialiseOCI;
+  {$else}
+  Result:=Nil;
+  {$endif}
+end;
+
+class function TOracleConnectionDef.UnLoadFunction: TLibraryUnLoadFunction;
+begin
+  {$IfDef LinkDynamically}
+  Result:=@ReleaseOCI;
+  {$else}
+  Result:=Nil;
+  {$endif}
+end;
+
+class function TOracleConnectionDef.LoadedLibraryName: string;
+begin
+  {$IfDef LinkDynamically}
+  Result:=OCILoadedLibrary;
+  {$else}
+  Result:='';
+  {$endif}
+end;
+
 { TOracleTrans }
 { TOracleTrans }
 
 
 destructor TOracleTrans.Destroy();
 destructor TOracleTrans.Destroy();