Entry Point Not found

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
dados
Posts: 82
Joined: Thu 18 Aug 2005 14:06

Entry Point Not found

Post by dados » Fri 28 Feb 2014 12:03

Hi,

After upgrading to 9.2.6 and having to deal with the OCI function is not linked error I upgraded to 9.2.7 and the OCI function is not linked error was gone.

Now I'm getting a different "error" when calling OraSession.Connect; with one of my 10.1.0.4 clients (I have two 10.1.0.4 clients installed) and both worked before version 9.2.6
This does not produce an exception but I'm getting a dialog with a message.
It happens only the first time OraSession.connect is called per application.
And I've received two different messages.

Entry Point Not found
The procedure entry point qmxtgPrintXobToLob could not be located in the dynamic link library orageneric10.dll

and

Entry Point Not found
The procedure entry point kpuhhfrp could not be located in the dynamic link library oraclient10.dll

If I compile and run with or without debugger from XE5 I never get this error but if I run the compiled executable from windows explorer I get this error....and some of my clients.

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: Entry Point Not found

Post by AlexP » Mon 03 Mar 2014 09:02

Hello,

We cannot reproduce the problem. The below sample works correctly. Please modify it so that the problem can be reproduced and send it back to us.

Code: Select all

program Project5;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils, Ora, OraError;

var
  OraSession: TOraSession;
begin
  OraSession := TOraSession.Create(nil);
  try
    OraSession.ConnectString := 'user/passwd@SID';
    try
      OraSession.Connect;
      Writeln('Connected');
    except
      on E: EOraError do
        Writeln('ORA-' + IntToStr(e.ErrorCode) + ': ' + e.Message);
    end;
  finally
    OraSession.Free;
    Readln;
  end;
end.

dados
Posts: 82
Joined: Thu 18 Aug 2005 14:06

Re: Entry Point Not found

Post by dados » Mon 03 Mar 2014 13:57

I'm able to produce this behavior with this code.

Code: Select all

program Project37;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils, OraCall;
begin
  OracleHomes.FindHome('DevSuiteHome1').Init;
end.

dados
Posts: 82
Joined: Thu 18 Aug 2005 14:06

Re: Entry Point Not found

Post by dados » Mon 03 Mar 2014 14:08

Also if I run this code:

Code: Select all

program Project37;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils, OraCall;

var
  i, e, c : integer;
  h : string;
begin
  if OracleHomes.Count = 0 then
  begin
    Writeln('No Oracle Homes Found');
    Readln;
    exit;
  end;

  repeat
    Writeln('Please choose a home to init:');
    for i := 0 to OracleHomes.Count - 1 do
      Writeln('['+IntToStr(i)+'] : '+ OracleHomes.Homes[i].Name);

    Write('[Enter=Exit]:');
    Readln(h);
    Writeln;

    if h = '' then
      exit;

    if TryStrToInt(H, C) then
    if (c >= 0) and (c <= OracleHomes.Count-1) then
    begin
      OracleHomes.Homes[c].Init;
      if OracleHomes.Homes[c].Inited then
      begin
        Writeln('Home "'+OracleHomes.Homes[c].Name+'" was inited');
        Writeln('OCIDLL      : '+OracleHomes.Homes[c].OCIDLL);
        Writeln('OCIClientDLL: '+OracleHomes.Homes[c].OCIClientDLL);
        Writeln('OCIVersionSt: '+OracleHomes.Homes[c].OCIVersionSt);
        Writeln('Path        : '+OracleHomes.Homes[c].Path);
        Writeln('TNSPath     : '+OracleHomes.Homes[c].TNSPath);
      end else
        Writeln('Home was not inited!');
    end;
    Writeln;

  until h = '';
end.
When I run this code and choose first option 0 and then 1 I get this "error" on init for option 1

Result from program:

Please choose a home to init:
[0] : BIToolsHome1
[1] : DevSuiteHome1
[2] : OraClient11g_home1
[Enter=Exit]:0

Home "BIToolsHome1" was inited
OCIDLL : C:\oracle\BIToolsHome_1\BIN\oci.dll
OCIClientDLL: C:\oracle\BIToolsHome_1\BIN\oraclient10.dll
OCIVersionSt: 10.1.0.4.0
Path : C:\oracle\BIToolsHome_1
TNSPath :

Please choose a home to init:
[0] : BIToolsHome1
[1] : DevSuiteHome1
[2] : OraClient11g_home1
[Enter=Exit]:1

Home "DevSuiteHome1" was inited
OCIDLL : C:\Oracle\DevSuiteHome_1\BIN\oci.dll
OCIClientDLL: C:\Oracle\DevSuiteHome_1\BIN\oraclient10.dll
OCIVersionSt: 10.1.0.4.0
Path : C:\Oracle\DevSuiteHome_1
TNSPath :

Please choose a home to init:
[0] : BIToolsHome1
[1] : DevSuiteHome1
[2] : OraClient11g_home1
[Enter=Exit]:

----

I checked the dll versions in the directories and there is a mismatch.
BIToolsHome1 - No error message
From OraCall -> OCIVersionSt: 10.1.0.4.0
oci.dll 10.1.0.4
oraclient10.dll 10.1.0.5
orageneric10.dll 10.1.0.5

DevSuiteHome1 - Error message dialog
From OraCall -> OCIVersionSt: 10.1.0.4.0
oci.dll 10.1.0.4
oraclient10.dll 10.1.0.4
orageneric10.dll 10.1.0.4

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: Entry Point Not found

Post by AlexP » Wed 05 Mar 2014 11:41

Unfortunately, we cannot check your sample on the client version 10.1.0.4.0. Our libraries versions are oraclient10 and orageneric10 - 10.1.0.5. If you can provide a link to the client version on which the problem occurs, we will try to reproduce the problem once more.

jdorlon
Posts: 202
Joined: Fri 05 Jan 2007 22:07

Re: Entry Point Not found

Post by jdorlon » Thu 14 Jan 2021 21:38

I know this is a very old thread, but I have this same problem (Entry point not found) with some Oracle clients in the latest ODAC.

When I run the console app attached to this thread, I get the "entry point not found" error for 2 of my Oracle clients - a 12.1.0.2 client (32 bit, not-instant) and also a 10.2.0.5 client (32 bit instant).

I realize that 10.2.0.5 is perhaps too old to bother with, but Devart, will you try this again, with all of your Oracle clients to see if you can reproduce this?

I could send you an installer for my 12.1.0.2 client, but it is too big to email - almost 900Mb. I could FTP it somewhere for you, if you have a place available for large uploads.

Thanks

John Dorlon

MaximG
Devart Team
Posts: 1822
Joined: Mon 06 Jul 2015 11:34

Re: Entry Point Not found

Post by MaximG » Mon 18 Jan 2021 16:08

You may load your Oracle client version to our FTP server. We've sent you the credentials in an email.

jdorlon
Posts: 202
Joined: Fri 05 Jan 2007 22:07

Re: Entry Point Not found

Post by jdorlon » Mon 18 Jan 2021 19:43

I have noticed that the problem only happens when both of the following clients are installed:
12.1.0.2
12.2.0.1

I will upload both.

Thanks

MaximG
Devart Team
Posts: 1822
Joined: Mon 06 Jul 2015 11:34

Re: Entry Point Not found

Post by MaximG » Thu 21 Jan 2021 13:03

We've received both files and started investigating the issue.

Post Reply