ardi gunawan
ardi gunawan

Reputation: 425

THE Procedure entry point OCIstmtgetNextresult could not be located in the dynamic link library oci.dll

I just installed xampp v3.2.2 on my pc. I want to create connection string to oracle using php. when i start Apache on xampp, always show popup window "OCI.DLL IS MISSING FROM your computer". I've been download oci.dll from http://www.dll-found.com/download/o/oci.dll and place it inside C/windows/SysWOW64

but, when i start apache on xampp again, show popup window "THE Procedure entry point OCIstmtgetNextresult could not be located in the dynamic link library oci.dll" like this screenshot

what should i do? thanks

Upvotes: 3

Views: 22286

Answers (3)

Mahedi Kamal
Mahedi Kamal

Reputation: 189

What I did first-

  • My PC- Windows 10 64 bit
  • Downloaded XAMPP Version 8.0.6 (x64 bit)
  • Downloaded Oracle Instant Client for 64-bit(instantclient-basic-windows.x64-19.11.0.0.0dbru.zip)
  • Added path "C:\instantclient_19_11" in system variable
  • Downloaded "8.0 Thread Safe (TS) x64" (oci8 3.0.1). the extracted it and added all files with extension .dll, .pdb, pd in C:\xampp\php\ext
  • After that, I configured php.ini (uncommented the extension -"extension=php_oci8_12c.dll")

After doing all of this I was getting the same kind of error.

How I solved-

I found that 8.0 Thread Safe (TS) x64 is causing the problem. So I decided to use oci8 x86 bit instead.

Then I was able to successfully connect my oracle database.

Upvotes: 2

Fabien Haddadi
Fabien Haddadi

Reputation: 2080

You need to download the whole of the Oracle Instant client that matches your OS and its bitness, e.g. 12.1.0.2 for 64 bit for example, from the Oracle website (you may need to create a free account).

Uncompress the contents in the folder of your choice. Add the path to this folder to your PATH environment variable.

Copy all the files within the main directory to your Apache/bin folder, the one that contains httpd.exe Note that a subset of these files may be copied, but I can't remember which exactly. You may work by elimination eventually, once you have the system to work.

Configure php.ini (the one inside Apache) to activate this module:

extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client

Restart Apache. It should work.

A similar job may be done for php in cli mode. In this case, copy the files from the Oracle Instant Client into the php folder, the one that contains php.exe, not the ext/ folder. Similarly, edit php.ini for cli. Verify that module oci8 gets loaded by issuing a:

php -m

command from a console. Remember that your should reopen the console to load the latest PATH variable.

Upvotes: 11

v.montag
v.montag

Reputation: 91

this is a problem with the x64 Edition of PHP 5.6.2x and Oracle Instant Client....i got the same error, i changed to x86

Upvotes: 2

Related Questions