ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Linux 下用unixODBC连接Oracle数据库的配置

2022-02-10 14:00:38  阅读:294  来源: 互联网

标签:db11g unixODBC 下用 odbc 11g ini Linux ORACLE root


 

  • 服务器环境检查
[root@db11g ~]# cat /etc/issue

Red Hat Enterprise Linux Server release 6.5 (Santiago)

Kernel \r on an \m

[root@db11g ~]# uname -a

Linux db11g 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux

 

  • 准备介质

无论安装与否,均需下载以下三个介质,下载时注意和服务器平台匹配(32位、64位)

  • unixODBC-2.3.0.tar.gz
  • instantclient-basic-linux.x64-11.2.0.3.0.zip
  • instantclient-odbc-linux.x64-11.2.0.3.0.zip

 

下载后,将三个介质传至/opt/odbc/目录下

  • 安装unixODBC(root用户执行)
[root@db11g ~]# cd /opt/odbc/

[root@db11g odbc]# tar xvf unixODBC-2.3.0.tar.gz

[root@db11g odbc]# cd /opt/odbc/unixODBC-2.3.0

[root@db11g odbc]# ./configure

[root@db11g odbc]#make

[root@db11g odbc]#make install

 

  • 安装Oracle ODBC(root用户执行)
[root@db11g odbc]# cd /opt/odbc/

[root@db11g odbc]# unzip instantclient-basic-linux.x64-11.2.0.4.0.zip

[root@db11g odbc]# unzip instantclient-odbc-linux.x64-11.2.0.4.0.zip

两个文件均解压到了instantclient_11_2下

[root@db11g odbc]# cd /opt/odbc/instantclient_11_2

[root@db11g odbc]# chmod 775 odbc_update_ini.sh

[root@db11g odbc]# ./odbc_update_ini.sh /usr/local

没有任何提示表示安装成功

 

odbc_update_ini.sh参数说明:
参数1:unixODBC DM安装路径。
参数2:驱动安装的绝对路径(可选)。默认为运行脚本的路径。
参数3:驱动名(可选),默认为Oracle 11g ODBC driver。
参数4:数据源名称(可选),默认为OracleODBC-11g。
运行完成后将添加一个DNS条目到$HOME/.odbc.ini , <DriverManager_HOME>/etc/odbcinst.ini,名称为:OracleODBC-11g

 

  • 配置本地服务名
[root@db11g odbc]#cd $ORACLE_HOME/network/admin

[root@db11g odbc]#vi tnsnames.ora

例:

test =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.151)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = zyr11g)

    )

  )

 

  • 检查驱动配置
[root@db11g odbc]#cat /usr/local/etc/odbcinst.ini

 

[Oracle 11g ODBC driver]

Description     = Oracle ODBC driver for Oracle 11g

Driver          = /u01/app/ora11g/product/11.2.0/db_1/odbc/utl/libsqora.so.11.1

Setup           =

FileUsage       =

CPTimeout       =

CPReuse         =

 

  • 配置oracle odbc配置(oracle用户执行)
[root@db11g odbc]#vi ~/.odbc.ini

[OracleODBC-11g]

Application Attributes = T

Attributes = W

BatchAutocommitMode = IfAllSuccessful

BindAsFLOAT = F

CloseCursor = F

DisableDPM = F

DisableMTS = T

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

DSN = OracleODBC-11g

EXECSchemaOpt =

EXECSyntax = T

Failover = T

FailoverDelay = 10

FailoverRetryCount = 10

FetchBufferSize = 64000

ForceWCHAR = F

Lobs = T

Longs = T

MetadataIdDefault = F

QueryTimeout = T

ResultSets = T

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

SQLGetData extensions = F

Translation DLL =

Translation ption = 0

DisableRULEHint = T

UserID =

 

  • 设置环境变量(oracle用户执行)

 

[root@db11g odbc]#vi ~/.bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_UNQNAME=zyr11g

export ORACLE_SID=db11g

export LD_LIBRARY_PATH=/opt/odbc/instantclient_11_2:/usr/local/lib:$LD_LIBRARY_PATH

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/usr/local/bin:$PATH

 

  • 测试(oracle用户执行)

 

[oracle@db11g ~]$ isql OracleODBC-11g cs cs -v

+---------------------------------------+

| Connected!                            |

|                                       |

| sql-statement                         |

| help [tablename]                      |

| quit                                  |

|                                       |

+---------------------------------------+

SQL>

 

测试方法:

isql <数据源名称> <用户名> <密码> -v

数据源名称来自于oracle用户下的~/.odbc.ini配置文件

 

标签:db11g,unixODBC,下用,odbc,11g,ini,Linux,ORACLE,root
来源: https://www.cnblogs.com/orachen/p/15878806.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有