安装Oracle ODBC驱动

0    477    3

Tags:

👉 本文共约16904个字,系统预计阅读时间或需64分钟。

简介

ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。

一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBCAPI进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。

安装ODBC驱动

ODBC驱动分32位和64位,安装时需要注意。

安装了Oracle服务端或客户端都会自动安装Oracle ODBC驱动,但是也可以单独安装Oracle的ODBC驱动,用于某些应用的连接。

Oracle ODBC驱动下载参考:

https://www.oracle.com/database/technologies/instant-client.html

https://www.oracle.com/database/technologies/instant-client/downloads.html

在Windows下

这里只演示64位即可。下载地址:

https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html

https://www.oracle.com/database/technologies/instant-client/microsoft-windows-32-downloads.html

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

首先需要下载两个包 instantclient-basic-nt-版本.zip 和 instantclient-odbc-nt-版本.zip包,然后将这2个包解压到同一个目录中,最后使用管理员账号打开cmd,切换到对应目录,执行:odbc_install.exe即可。安装成功后,会返回“Oracle ODBC Driver is installed successfully.”提示。

然后,打开ODBC配置界面进行配置即可。

安装Oracle ODBC驱动

安装Oracle ODBC驱动

安装Oracle ODBC驱动

备注:

Data Source Name 随便取个名字如:“TBNAME”
Description   连接描述如:“某某数据库”
TNS Service Name 有两种方式填写
一是点击下拉tnsnames.ora配置的名称如"TESTDB" ;
二是填写IP地址+端口号+SID 如: “10.20.2.1:1521/ORCL”
UserID 访问数据库的用户名
点击测试弹出"Oracle ODBC Driver Connect"对话口 填写好用户密码 点击"OK" 若连接成功则提示 “Connection successful”
至此odbc配置成功。

如果注册ODBC时出错【Oracle ODBC Driver with same name already exists】

出这个错误说明没有权限,用管理员权限打开CMD,然后再注册就可以了。

在Linux下

iODBC: MySQL Workbench binaries provided by Oracle already include iODBC and no additional action is required. If you compile it yourself, you must install iODBC or unixODBC. iODBC is recommended. You can use the iODBC library provided by your distribution by installing the libiodbc2 package on Debian based systems, or libiodbc on RPM based systems.

https://www.oracle.com/database/technologies/releasenote-odbc-ic.html

https://dev.mysql.com/doc/workbench/en/wb-migration-install-odbc-libraries.html

在Ubuntu下

安装Ubuntu版本的mysql-workbench:

打开“ iODBC Data Source Administrator”的命令为:iodbcadm-gtk

安装Oracle ODBC驱动

Oracle + Ubuntu: https://doris.apache.org/zh-CN/article/articles/odbc-tutorial-ubuntu-oracle.html

Contents of the Oracle Instant Client ODBC Package

DescriptionLinux and UNIXWindows
Oracle ODBC driver shared librarylibsqora.so.XX.Y. For example libsqora.so.19.1sqora32.dll
Installation fileodbc_update_ini.shodbc_install.exe, odbc_uninstall.exe
Oracle ODBC driver configuration dialog window (GUI)Not availablesqoras32.dll, sqresus.dll, sqresja.dll
Help Systemhelp/help/

不同 Oracle 版本的客户端/服务器互相操作性支持矩阵 (Doc ID 1945782.1)

Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)

下面的矩阵总结了受支持的最经常使用的产品版本的客户端和服务器的组合。完整的矩阵在这篇文档的末尾。

仅当满足如下条件时,才会对新的交互性问题进行调查:当问题发生时,所涉及的两个发行版都处于一个有效的支持合同当中。

Client VersionServer Version
21c19c18c12.2.012.1.011.2.011.1.010.2.010.1.09.2.0
21cYesYesYesYesYesNoNoNoNoNo
19cYesYesYesYesYesYes#9NoNoNo#3No#3
18cYesYesYesYesYesYes#9NoNoNo#3No#3
12.2.0YesYesYesYesYesYes#9NoNoNo#3No#3
12.1.0YesYesYesYesYesYesWasWas#7No#3No#3
11.2.0NoYes#9Yes#9Yes#9YesYesWasWas#7NoWas#5
11.1.0NoNoNoNoWasWasWasWas#7Was#6Was#5
10.2.0NoNo#10No#10No#10Was#7Was#7Was#7WasWasWas#5
10.1.0#4NoNoNoNoNoWas#6Was#6WasWasWas
9.2.0NoNoNoNoNo#8Was#5Was#5Was#5WasWas

关键词:

Yes受支持
ES受支持 ,但仅为有 Extended Support 的客户提供修复。
MDS购买了Market-Driven Support服务
Was曾经是一个受支持的组合,但是其中一个发行版已经不在如下任何一个支持类型当中:Premier Support , Primary Error Correct support , Extended Support,也不属于 Extended Maintenance Support,所以不再提供修复。
No从未受到支持

特别说明:

  • #1 - 参阅 Note 207319.1
  • #2 - 如果一个 10g 客户端尝试连接一个 8.1.7.3 或者更低版本的服务器,则会不正确的报出 ORA-3134 错误,参阅 Note 3437884.8 .
  • #3 - 当尝试连接到这个版本时,会正确的报出 ORA-3134 错误。
  • #4 - 当 10g 的客户端连接到 8i/9i 时,若其中一个是基于 EBCDIC 的,则会出现问题。参阅 Note 3564573.8
  • #5 - 对于 10.2(或更高版本)与 9.2 之间的连接,9.2 端必须是 9.2.0.4 或者更高。10.2(或更高版本)与 9.2.0.1,9.2.0.2,9.2.0.3 之间的连接从未受到支持。
  • #6 - 对于 11.1(或更高版本)数据库服务器与 10.1/10.2 数据库服务器之间的 database link 连接,10g 端必须分别在 10.1.0.5/10.2.0.2(或更高),才能在这些版本之间使用 PLSQL。(这点并不适用于普通 11g 客户端到 10g 服务器的连接,而仅仅是服务器到服务器之间,以及一些很特别的客户端产品,比如 Oracle Forms) 参阅 Note 4511371.8 了解更多细节
  • #7 - 在 11.1(或更高)与 10.2 之间的 database link 连接,10g 端必须在 10.2.0.2(或更高),才能在这些版本间使用 PLSQL。参阅 Note 4511371.8 了解更多细节
  • #8 - 尝试从 9.2 连接到 12.1 将会报出"ORA-28040: No matching authentication protocol"错误并失败。
  • #9 - 只适用于11.2.0.3 和 11.2.0.4。对于Oracle Autonomous Transaction Processing 和 Oracle Autonomous Data Warehouse, 这里有额外的限制:11.2.0.4 是支持客户端的最低版本。
  • #10 - 仅针对IBM z / OS平台,甲骨文在2014年以后将继续测试,为运行在z/OS上的10.2版本的旧版客户端以及运行在非z/OS平台上的服务器版本。 有关更多信息,请参阅Note 461234.1 - Oracle Database on z/OS Support Status.

• 一般说明:

  1. \1. 对于不同版本之间的 database links 连接,必须受到上表中的双向支持。
    例如: 由于 11.2 -> 10.1 不被支持,那么这两个版本之间的双向的 database link 就都不被支持。
  2. 不受支持的组合可能似乎可以工作,但是对于特定的操作可能遇到错误。不应该依赖于他们似乎可以工作 - Oracle 不会对不受支持的组合遇到的问题进行调查。
  3. 由于新的数据库服务器兼容于有限的一组旧 OCI 客户端,升级数据库时,升级这些客户端软件可能不是必须的。但是,如果不升级客户端软件,一些新的特性可能无法运行。例如,10.2 的 Oracle 客户端可以连接到 11.2 数据库,但是无法利用客户端结果缓存(11.1 中引入)之类的新特性。
  4. Oracle Applications,或其它的 Oracle 产品,可能有上表中未列出的受支持的配置。
  5. 上表同样适用于不同的平台之间,以及 32/64位 Oracle 客户端/服务器之间,除非某个 Oracle 平台另有不支持公告说明。
  6. Unix BEQUEATH (BEQ)在不同发行版之间 不受支持 例如, 10.2 客户端到 11.2 服务器的 Oracle 连接,不管上表中列出的互操作性支持如何,若是使用 BEQ 协议适配器,则是不受支持的。参阅 Note 364252.1 了解更多细节。
  7. 本文提到的"Oracle Client" 并不适用于其它客户端产品,比如"Sql-plus Instant Client"
  8. Oracle Cloud Service上和客户端的互操作性取决于作为云的一部分运行的DB Server的版本
  9. 根据所使用的云服务,可能会有一些功能限制,请您参考云服务文档以了解任何此类功能限制。

完整的互操作性支持矩阵

这个矩阵包含了旧版本的互操作性信息,这是一个完整的内容。

Server Version
Client Version21c19c18c12.2.012.1.011.2.011.1.010.2.010.1.09.2.09.0.18.1.78.1.68.1.58.0.68.0.57.3.4
21cYesYesYesYesYesNoNoNoNoNoNoNoNoNoNoNoNo
19cYesYesYesYesYesYes#9NoNoNo#3No#3No#3No#3No#3No#3No#3No#3No#3
18cYesYesYesYesYesYes#9NoNoNo#3No#3No#3No#3No#3No#3No#3No#3No#3
12.2.0YesYesYesYesYesYes#9NoNoNo#3No#3No#3No#3No#3No#3No#3No#3No#3
12.1.0YesYesYesYesYesYesWasWas#7No#3No#3No#3No#3No#3No#3No#3No#3No#3
11.2.0NoYes#9Yes#9Yes#9YesYesWasWas#7NoWas#5No#3No#3No#3No#3No#3No#3No#3
11.1.0NoNoNoNoWasWasWasWas#7Was#6Was#5No#3No#3No#3No#3No#3No#3No#3
10.2.0NoNo#10No#10No#10Was#7Was#7Was#7WasWasWas#5NoWasNo#3No#3No#3No#3No#3
10.1.0#4NoNoNoNoNoWas#6Was#6WasWasWasWasWas#2No#3No#3No#3No#3No#3
9.2.0NoNoNoNoNo#8Was#5Was#5Was#5WasWasWasWasNoNoWasNoNo#1
9.0.1NoNoNoNoNoNoNoNoWasWasWasWasWasNoWasNoWas
8.1.7NoNoNoNoNoNoNoWasWasWasWasWasWasWasWasWasWas
8.1.6NoNoNoNoNoNoNoNoNoNoWasWasWasWasWasWasWas
8.1.5NoNoNoNoNoNoNoNoNoNoNoWasWasWasWasWasWas
8.0.6NoNoNoNoNoNoNoNoNoWasWasWasWasWasWasWasWas
8.0.5NoNoNoNoNoNoNoNoNoNoNoWasWasWasWasWasWas
7.3.4NoNoNoNoNoNoNoNoNoWasWasWasWasWasWasWasWas

ODBC的写法

-- DBQ为tns

JDBC⽅式连接Oracle数据库时连接字符串的两种写法
SID格式:

如: jdbc:oracle:thin:@192.168.1.1:1521:orcl

ServiceName格式:

如: jdbc:oracle:thin:@//192.168.1.1:1521/orcl

参考

https://www.oracle.com/database/technologies/releasenote-odbc-ic.html

https://blog.csdn.net/hyfstyle/article/details/88124703

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

8 − 2 =

 

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部