Closed edelgadocru closed 5 years ago
I've installed instantclient-basic-windows.x64-18.5.0.0.0dbru.zip i've restart all terminals and windows after setting path. I've installed Microsoft Visual C++ 2013 Resdistibutable (x64) - 12.0.40664
I've installed instantclient-basic-windows.x64-18.5.0.0.0dbru.zip i've restart all terminals and windows after setting path. I've installed Microsoft Visual C++ 2013 Resdistibutable (x64) - 12.0.40664
A few notes that may be of help:
ORACLE_HOME
.C:\Oracle\instantclient_18_5
. Use a Python script something like the following:import os
import platform
LOCATION = r"C:\Oracle\instantclient_18_5"
print("ARCH:", platform.architecture())
print("FILES AT LOCATION:")
for name in os.listdir(LOCATION):
print(name)
os.environ["PATH"] = LOCATION + ";" + os.environ["PATH"]
import cx_Oracle
conn = cx_Oracle.connect("USER/pass@server/SERVICE")
Please show the output of this script. You should see OCI.DLL
listed in the output The architecture should indicate that it is 64-bit.
ARCH: ('64bit', 'WindowsPE')
FILES AT LOCATION:
adrci.exe
adrci.sym
BASIC_LICENSE
BASIC_README
bin
genezi.exe
genezi.sym
glogin.sql
oci.dll
oci.sym
ocijdbc18.dll
ocijdbc18.sym
ociw32.dll
ociw32.sym
ojdbc8.jar
oramysql18.dll
oramysql18.sym
orannzsbb18.dll
orannzsbb18.sym
oraocci18.dll
oraocci18.sym
oraocci18d.dll
oraocci18d.sym
oraociei18.dll
oraociei18.sym
oraons.dll
orasql18.dll
orasql18.sym
orasqlplusic18.dll
sqlplus.exe
sqlplus.sym
SQLPLUS_LICENSE
SQLPLUS_README
uidrvci.exe
uidrvci.sym
vc14
xstreams.jar
Traceback (most recent call last):
File "pruebaCX.py", line 13, in
So, now all you need to do is verify that you actually have a 64-bit instant client at that location. It would seem that you don't, or one of the dependencies that it requires is missing. This Stack Overflow question should help you figure that out. DependencyWalker should let you know about any missing dependencies.
Did you get this resolved?
Closing - no activity.
Thank you anthony... I faced similiar issue and it got resolved by changing environ path in python
@santosh-Plsql you changed from what to what, could you please be more specific? I got same error.
I python code os.environ["PATH"]=location where instant client is available.
@santosh-Plsql please can you be more specific. I am having same error what did you do to fix it? hope write back
@santosh-Plsql what did you do the new environment path?
I am having same error what did you do to fix it??????? please
@oguzhan10 @pedromoraisf details matter, so open new issues with LOTS of detail about what is installed and how it was installed.
Can you help me with this similar error.
cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "/lib64/libc.so.6: version `GLIBC_2.14' not found (required by /ngs/app/alect/pythonApps/instantclient_19_3/libclntsh.so)".
@skrishnabharat please open new issues for new problems. This issue is closed (PS. your answer is use 18c or upgrade Linux)
I solved it with cx_Oracle.init_oracle_client("path_to_folder_instantclient_19_8") connection = cx_Oracle.connect("SYSTEM", "Oradoc_db1", "localhost/ORCLCDB.localdomain")
using python3 64bit, _instantclient_19_8 64bit and latest cx_Oracle version for python3.
In general, see cx_Oracle 8 Initialization for the documentation on how to tell cx_Oracle where the Oracle client libraries are located.
For readers coming via Google: the simplest solution for most people will be to upgrade to the latest version of cx_Oracle, now called python-oracledb, see the release announcement. The default 'Thin' mode doesn't use Oracle Client libraries so you will never get DPI-1047 - unless you enable the optional Thick mode which has a few additional features, see Enabling python-oracledb Thick mode.
Delete unnecessary parts of this template.
For security issues:
See https://www.oracle.com/support/assurance/vulnerability-remediation/reporting-security-vulnerabilities.html for how to report security issues.
For general questions:
Describe exactly what you did and what you want to happen. Use the questions at the bottom of this template as a guide.
Use Markdown syntax, particularly for code blocks: see https://help.github.com/articles/basic-writing-and-formatting-syntax/#quoting-code
For installation issues:
Use a gist for screen output and logs: see https://gist.github.com/ Do not paste long output into this issue
Review your output and logs. Google any errors Try to install in a different way. Try some potential solutions.
Review the install instructions at http://cx-oracle.readthedocs.io/en/latest/installation.html
Answer the following questions:
What is your version of Python? Is it 32-bit or 64-bit? --> Python 3.7.3 (tags/v3.7.3:ef4ec6ed12, Mar 25 2019, 22:05:12) [MSC v.1916 64 bit (AMD64)] on win32
What is your cx_Oracle version? --> cx-oracle-7.1.3
What exact command caused the problem (e.g. what command did you try to install with)? Who were you logged in as? -->con = cx_Oracle.connect('USER/pass@host:port/SID')
What error(s) you are seeing?
What OS (and version) is Python executing on?
What is your version of the Oracle client (e.g. Instant Client)? How was it installed? Where is it installed? --> cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found". See https://oracle.github.io/odpi/doc/installation.html#windows for help
What is your Oracle Database version? --> Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
What is the
PATH
environment variable (on Windows) orLD_LIBRARY_PATH
(on Linux) set to? On macOS, what is in~/lib
? -> C:\Oracle\instantclient_18_5\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Users\A123846\AppData\Local\Microsoft\WindowsApps;;C:\Users\A123846\AppData\Local\Programs\Microsoft VS Code\binWhat Oracle environment variables did you set? How exactly did you set them? oracle_home --> C:\Oracle\instantclient_18_5\
Do you have a small, single Python script that immediately runs to show us the problem?
import cx_Oracle import os import sys
print(sys.version)
print(os.environ['ORACLE_HOME'])
print(os.environ['path'])
con = cx_Oracle.connect('USER/pass@host:port/SID') print (con.version)
con.close()