Sql Server dblink Oracle 服务时报Oracle Provider for OLE DB问题

  • Post author:
  • Post category:其他


问题背景:

由于电脑win10 安装 oracle 19c client 时总是无法安装成功,无法进行安装 相关驱动。

于是安装了 oracle 11g 的客户端驱动, 在代码执行时,执行没有问题, 代码使用ojdbc.jar 驱动来使用。

但是通过sqlserver dblink服务时,总是报ora-28040协议冲突错误。

sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-28040: No matching authentication protocol


推测 Oracle Provider for OLE DB 使用的是 应该是11g的驱动,因此想着如何安装  19c驱动问题。

如果电脑上没有这个驱动,安装一个完整的Oracle19c程序是一个有效的方法,但这个64位版本的安装包有2个多G,

于是去官网下载了19c的 odac驱动。

地址

https://www.oracle.com/database/technologies/dotnet-odacdeploy-downloads.html

选择需要的驱动版本,我这边下载为 19.3 版本 , ODAC193Xcopy_x64.zip​

安装步骤:

1, 解压到当前文件夹,

进入目录 ,执行  ,

install.bat oledb D:\oracle19_3 odac

则相关驱动已经安装到 D:\oracle19.3 的目录下,

2, 环境变量修改

添加相关 路径到 环境变量 Path中, 即 D:\oracle19.3 ;   D:\oracle19.3\bin

3, 重启电脑,

执行之前执行的dblink 服务即可

连接测试:

SELECT * FROM OPENQUERY(WINDDB,’select xxx from 表名’)



版权声明:本文为u014253768原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。