报错内容:
{DatabaseError}DPI-1047: Cannot locate a 32-bit Oracle Client library: "C:\app\user\product\11.2.0\client_2/oci.dll is not the correct architecture". See https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html for help
问题分析:
电脑本身是64位系统,尝试安装32位的各种插件都不能成功,不知什么原因导致的64位系统不能兼容32位系统才导致的数据库链接不成功
应对方案有两种:
方法一:
1、Oracle网站下载32位的系统 Instant Client for Windows 32-bit
2、解压后无需安装,复制文件夹路径 C:\app\user\instantclient_11_2
3、环境变量配置文件夹的位置 C:\app\user\instantclient_11_2
方法二:
1、Oracle网站下载32位的系统 Instant Client for Windows 32-bit
2、解压后无需安装,复制文件夹路径 C:\app\user\instantclient_11_2
3、调用数据库的方法中通过代码写地址
cx_Oracle.init_oracle_client(lib_dir=r"C:\app\user\instantclient_11_2")
例如:
def query_oracle(sql, *args): cx_Oracle.init_oracle_client(lib_dir=r"C:\app\user\instantclient_11_2") dsn = cx_Oracle.makedsn('', '', '') connection = cx_Oracle.connect('', '', dsn)... ...