广告
返回顶部
首页 > 资讯 > 数据库 >Ubuntu16.04下怎么安装Oracle数据库的ODBC驱动
  • 994
分享到

Ubuntu16.04下怎么安装Oracle数据库的ODBC驱动

2024-04-02 19:04:59 994人浏览 八月长安
摘要

本篇内容介绍了“ubuntu16.04下怎么安装oracle数据库的ODBC驱动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细

本篇内容介绍了“ubuntu16.04下怎么安装oracle数据库的ODBC驱动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在Ubuntu 16.04下要连接远程的Oracle数据库,有多种方式,本文介绍通过ODBC方式来实现客户端远程访问Oracle数据库。

1、要通过ODBC方式连接远程数据库,客户端需要有ODBC管理程序,在linux系统下,可以用以下命令检查ODBC的环境和配置:

(1)检查系统是否安装ODBC管理程序:

csyy@server02:~$ dpkg -l | grep odbc

Desired=Unknown/Install/Remove/Purge/Hold

| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend

|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)

||/ Name                    Version      Architecture Description

+++-=======================-============-============-=========================

ii  libodbc1:amd64          2.3.7        amd64        ODBC library for Unix

ii  msodbcsql17             17.4.2.1-1   amd64        ODBC Driver for Microsoft(R) SQL Server(R)

ii  odbcinst                2.3.7        amd64        Helper program for accessing odbc ini files

ii  odbcinst1debian2:amd64  2.3.7        amd64        Support library for accessing odbc ini files

ii  unixodbc                2.3.7        amd64        Basic ODBC tools

ii  unixodbc-dev            2.3.7        amd64        ODBC libraries for UNIX (development files)

如果未找到ODBC管理程序,可用以下命令来安装:

sudo apt-get install unixodbc

(2)检查ODBC环境配置:

csyy@server02:~$ odbcinst

******************************************************************************

* unixODBC - odbcinst                                                        *

******************************************************************************

* Purpose:                                                                   *

*      An ODBC Installer and Uninstaller.                                    *

*      Updates system files, and increases/decreases usage counts but        *

*      does not actually copy or remove any files.                           *

* Syntax:                                                                    *

*      odbcinst Action Object Options                                        *

* Action:                                                                    *

*      -i         install                                                    *

*      -u         uninstall                                                  *

*      -q         query                                                      *

*      -j         print config info                                          *

*      -c         call SQLCreateDataSource                                   *

*      -m         call SQLManageDataSources                                  *

*      --version  version                                                    *

* Object:                                                                    *

*      -d driver                                                             *

*      -s data source                                                        *

* Options:                                                                   *

*      -f file name of template.ini follows this (valid for -i)              *

*      -r get template.ini from stdin, not a template file                   *

*      -n Driver or Data Source Name follows                                 *

*      -v turn verbose off (no info, warning or error msgs)                  *

*      -l system dsn                                                         *

*      -h user dsn                                                           *

* Returns:                                                                   *

*      0   Success                                                           *

*     !0   Failed                                                            *

* Please visit;                                                              *

*      Http://www.unixodbc.org                                               *

*      pharvey@codebydesign.com                                              *

******************************************************************************

csyy@server02:~$ odbcinst -j

unixODBC 2.3.7

DRIVERS............: /etc/odbcinst.ini

SYSTEM DATA SOURCES: /etc/odbc.ini

FILE DATA SOURCES..: /etc/ODBCDataSources

USER DATA SOURCES..: /home/csyy/.odbc.ini

SQLULEN Size.......: 8

SQLLEN Size........: 8

SQLSETPOSIROW Size.: 8

从配置环境来看,ODBC驱动的配置文件是/etc/odbcinst.ini,系统DSN的配置文件是/etc/odbc.ini,文件DSN的配置文件是/etc/ODBCDataSources,而用户DSN的配置文件则是$HOME/.odbc.ini。

2、下载并安装oracle ODBC驱动程序:

进入官网https://www.oracle.com/database/technologies/instant-client/ linux-x86-64-downloads.html下载如下所需的安装包。

oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm

进行安装

sudo alien -i oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm

此处采用了rpm包来安装Oracle for ODBC的驱动程序,也可通过zip包来安装。

Oracle for ODBC驱动程序的安装目录是/usr/share/oracle/11.2/client64。

3、有关Oracle客户端的安装,可以参考:

http://blog.itpub.net/81227/viewspace-2668066/

4、配置Oracle 11gR2的ODBC:

root@server02:~# cd /usr/share/oracle/11.2/client64

root@server02:/usr/share/oracle/11.2/client64# ./odbc_update_ini.sh /

odbc_update_ini.sh参数说明:

参数1:unixODBC安装路径。

参数2:驱动安装的绝对路径(可选)。默认为运行脚本的路径。

参数3:驱动名(可选),默认为Oracle 11g ODBC driver。

参数4:数据源名称(可选)。

运行完成后,将在/etc/odbcinst.ini文件中添加有关Oracle for ODBC的驱动程序配置信息,名称为Oracle 11g ODBC driver;同时,也会添加一个DSN条目到$HOME/.odbc.ini和/etc/odbc.ini,名称为:OracleODBC-11g。

root@server02:/usr/share/oracle/11.2/client64# cat /etc/odbcinst.ini

[Oracle 11g ODBC driver]

Description     = Oracle ODBC driver for Oracle 11g

# Driver          = /usr/share/oracle/11.2/client64/libsqora.so.11.1

Driver          = /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1

Setup           =

FileUsage       =

CPTimeout       =

CPReuse         =

驱动程序的动态库配置错误,不是在/usr/share目录下,而是在/usr/lib目录下。

root@server02:/usr/share/oracle/11.2/client64# cat /etc/odbc.ini

[OracleODBC-11g]

Application Attributes = T

Attributes = W

BatchAutocommitMode = IfAllSuccessful

BindAsFLOAT = F

CloseCursor = F

DisableDPM = F

DisableMTS = T

Driver = Oracle 11g ODBC driver       #对应/etc/odbcinst.ini中的驱动配置名称

DSN = OracleDSN

EXECSchemaopt =

EXECSyntax = T

Failover = T

FailoverDelay = 10

FailoverRetryCount = 10

FetchBufferSize = 64000

ForceWCHAR = F

Lobs = T

Longs = T

MetadataIdDefault = F

QueryTimeout = T

ResultSets = T

ServerName = OracleDATA      #对应tnsnames.ora中配置的本地服务名

SQLGetData extensions = F

Translation DLL =

Translation ption = 0

DisableRULEHint = T

UserID =

配置完ODBC配置文件后,可以通过isql连接Oracle数据库。

命令:isql <数据源名称> <用户名> <密码> [-v]

下面讲述一下在实际安装过程中遇到的几个问题。

问题1:关于驱动程序libsqora.so.11.1的路径问题。

默认安装配置后,配置文件中的文件是在/usr/share/oracle/11.2/client64路径下,可实际检查在此目录中并未发现此文件。

Driver          = /usr/share/oracle/11.2/client64/libsqora.so.11.1

通过find命令查找,在/usr/lib/oracle/11.2/client64/lib目录中发现此文件,故修改配置如下。

Driver          = /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1

问题2:初次执行isql命令,报“ORA-12162”和“ORA-12545”错误。

root@server02:~# isql OracleODBC-11g OracleUser OraclePassWord -v

[S1000][unixODBC][Oracle][ODBC][Ora]ORA-12162: TNS:net service name is incorrectly specified

[ISQL]ERROR: Could not SQLConnect

查Oracle文档,解释为Oracle连接字符串不正确。

ORA-12162: TNS:net service name is incorrectly specified

 Cause: The connect descriptor corresponding to the net service name in TNSNAMES.ORA or in the directory server (Oracle Internet Directory) is incorrectly specified.

Action: If using local naming make sure there are no syntax errors in the corresponding connect descriptor in the TNSNAMES.ORA file. If using directory naming check the infORMation provided through the administration used for directory naming.

ORA-12162: TNS:net服务名称指定不正确

原因:与TNSNAMES.ORA或Oracle目录服务器中的网络服务名称对应的连接描述符指定不正确。

操作:如果使用本地命名,请确保TNSNAMES.ORA文件中相应的连接描述符中没有语法错误。如果使用目录命名,请检查通过用于目录命名的管理提供的信息。

再仔细检查Oracle TNS配置,未发现有配置错误。

再次上网查找,有讲是“诡异的故障背后的原因竟然是那样的基础:ORACLE_SID没有指定!”。

确认系统当前的ORACLE_HOME和ORACLE_SID环境变量:

root@server02:~# echo $ORACLE_HOME

/usr/lib/oracle/11.2/client64

root@server02:~# echo $ORACLE_SID

可见,此时只设置了ORACLE_HOME环境变量,但ORACLE_SID此时为空,这是该问题的真实原因吗?

一般来说,Oracle客户端是不需要设置ORACLE_SID环境变量的。

那就先试试看吧。

root@server02:~# export ORACLE_SID=orcl

root@server02:~# isql OracleODBC-11g OracleUser OraclePassword -v

[S1000][unixODBC][Oracle][ODBC][Ora]ORA-12545: Connect failed because target host or object does not exist

[ISQL]ERROR: Could not SQLConnect

一个“ORA-12162”问题刚解决,又来一个“ORA-12545”错误

ORA-12545: Connect failed because target host or object does not exist

 Cause: The address specified is not valid, or the program being connected to does not exist.

Action: Ensure the ADDRESS parameters have been entered correctly; the most likely incorrect parameter is the node name. Ensure that the executable for the server exists (perhaps "oracle" is missing.) If the protocol is tcp/IP, edit the TNSNAMES.ORA file to change the host name to a numeric IP address and try again.

ORA-12545:连接失败,因为目标主机或对象不存在

原因:指定的地址无效,或者连接的程序不存在。

操作:确保地址参数输入正确;最有可能不正确的参数是节点名。确保服务器的可执行文件存在(可能是“Oracle”丢失)。如果协议是TCP/IP,则编辑TNSNAMES.ORA文件,将主机名更改为数字IP地址,然后重试。

问题再次回到连接字符串上,指明问题原因是未指定连接字符串或连接字符串中的目标主机或对象不存在。

再次回到ODBC的配置上,发现了问题的根源,是系统安装后会存在多个ODBC的DSN配置文件:/etc/odbc.ini(全局配置)和~/.odbc.ini(用户配置),同名的DataSource造成了配置混乱。在修改ODBC数据源的配置时,直接在全局配置文件中修改了配置参数,并引用了原有的DSN名称,造成了在全局配置文件(配置是正确的)和用户配置文件(配置错误,未指定ServiceName参数)中的配置冲突,而优先级又是用户配置高于全局配置,导致了ODBC的连接失败。

改正配置参数后问题解决。

“Ubuntu16.04下怎么安装Oracle数据库的ODBC驱动”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: Ubuntu16.04下怎么安装Oracle数据库的ODBC驱动

本文链接: https://www.lsjlt.com/news/59927.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Ubuntu16.04下怎么安装Oracle数据库的ODBC驱动
    本篇内容介绍了“Ubuntu16.04下怎么安装Oracle数据库的ODBC驱动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细...
    99+
    2022-10-18
  • 云服务器怎么安装数据库驱动
    如果您要安装 AWS 云服务器的数据库驱动,您可以按照以下步骤进行: 准备工作:首先要准备好安装所需的数据库驱动程序和工具。请确保您已经安装了 SQL Server 4.0 和 SQL Server Management Studio,...
    99+
    2023-10-26
    服务器 数据库
  • 云服务器怎么安装数据库驱动器
    如果您的云服务器是安装在云平台上的,那么可以使用云平台提供的安装向导来安装数据库驱动器。下面是一个简短的步骤说明,以帮助您开始进行安装: 打开云平台网站,点击“服务”。 选择“数据库”选项卡,并在“驱动器”页面中选择您要安装的数据库类型...
    99+
    2023-10-27
    驱动器 服务器 数据库
  • 云服务器怎么安装数据库驱动程序
    如果您正在使用云服务器,但需要安装数据库驱动程序,以便能够访问数据,那么下面的步骤可能有助于您解决这个问题: 确认您要安装的软件是否与云服务器的软件兼容。有些应用程序可能需要特定的驱动程序或服务才能正常工作。您需要确保这些软件的版本与您...
    99+
    2023-10-27
    驱动程序 服务器 数据库
  • 云服务器怎么安装数据库驱动器程序
    Prometheus是一款常见的云服务器数据库驱动器软件,可以轻松地连接到多台云服务器上,支持数据库之间的数据复制、同步和备份。 使用Prometheus的安装步骤如下: 下载Prometheus的安装包。可以通过官方网站 https:...
    99+
    2023-10-28
    驱动器 数据库 服务器
  • WebLogic下怎么配置MySql数据库的JDBC驱动
    本篇内容主要讲解“WebLogic下怎么配置MySql数据库的JDBC驱动”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“WebLogic下怎么配置MySql数据...
    99+
    2022-10-18
  • 云服务器怎么安装数据库驱动程序教程
    选择一个云服务提供商 选择一个提供商来安装数据库驱动程序,首先需要确定服务提供商的位置。可以在云服务提供商的官方网站上查看其提供的数据库服务,也可以使用搜索引擎来查找。如果服务提供商不提供数据库服务,可以在网络上搜索其它可用的云服务提供商...
    99+
    2023-10-28
    驱动程序 数据库 服务器
  • MongoDB数据库怎么下载安装
    这篇文章主要介绍MongoDB数据库怎么下载安装,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、下载官网下载地址: https://www.mongodb.org/downloads。注意:一定要选择自己...
    99+
    2023-06-14
  • Ubuntu中怎么安装Oracle数据库
    这篇文章主要讲解了“Ubuntu中怎么安装Oracle数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ubuntu中怎么安装Oracle数据库”吧!公用命令,不管您是32 位系统还是64...
    99+
    2023-07-04
  • 怎么在Linux上安装Oracle数据库
    这篇文章主要介绍“怎么在Linux上安装Oracle数据库”,在日常操作中,相信很多人在怎么在Linux上安装Oracle数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-10-18
  • Oracle数据库在Linux系统下的安装过程
    这篇文章主要介绍“Oracle数据库在Linux系统下的安装过程”,在日常操作中,相信很多人在Oracle数据库在Linux系统下的安装过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2022-10-18
  • Oracle数据库下载与安装的完整步骤
    目录前言一、Oracle 数据库下载二、Oracle 数据库安装三、安装验证总结前言 本文以 Oracle Database Express Edition (XE) Release...
    99+
    2022-11-11
  • 怎么安装oracle数据库云服务器
    这篇文章主要介绍“怎么安装oracle数据库云服务器”,在日常操作中,相信很多人在怎么安装oracle数据库云服务器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么安装or...
    99+
    2022-10-18
  • 怎么安装单实例数据库Oracle 11G
    这篇文章主要介绍“怎么安装单实例数据库Oracle 11G”,在日常操作中,相信很多人在怎么安装单实例数据库Oracle 11G问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-10-18
  • linux安装oracle数据库无法启动安装界面的问题
    Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPL[gri...
    99+
    2022-10-18
  • 云服务器安装数据库驱动器程序的步骤
    1. 确定数据库类型和版本 在安装数据库驱动器程序之前,首先需要确定你所使用的数据库类型和版本。常见的数据库类型包括MySQL、PostgreSQL、Oracle等。不同的数据库类型需要使用不同的驱动器程序。 2. 下载数据库驱动器程序 ...
    99+
    2023-10-27
    驱动器 步骤 数据库
  • 怎么在Centos7中安装Oracle 11G R2数据库
    这篇文章主要讲解了“怎么在Centos7中安装Oracle 11G R2数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Centos7中安装Ora...
    99+
    2022-10-18
  • php7.2怎么连接oracle数据库?OCI8扩展的安装
    php7.2怎么连接oracle数据库?下面本篇文章给大家介绍一下php7.2安装OCI8扩展支持oracle数据库的方法,希望对大家有所帮助!做项目的时候,远程的oracle数据库为我们提供一张中间表,我这边业务中的一些数据是需要到ora...
    99+
    2022-08-08
    oracle php
  • win8/8.1系统无法安装驱动怎么办?win8/8.1系统安装驱动提示“数据无效”的解决方法
      原因分析: 微软在Windows 8/8.1中对硬件设备管理的服务独立出来,如果安装驱动程序时没有开启相关服务,那么就可能会弹出这个“数据无效”的错误提示的。  ...
    99+
    2022-06-05
    解决方法 系统安装 提示
  • Win8/8.1下驱动安装“数据无效”错误的有效解决方法
    如果你使用的是Windows8或者8.1,并且精简过系统,那么在安装驱动程序的过程中,你可能会遇到“数据无效”的错误。笔者确信所拥有的驱动程序是可以安装在Win8/Win8.1的系统中的,但是查阅...
    99+
    2023-06-04
    win8 驱动安装 数据无效 解决 数据 Win8 方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作