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

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

作者:互联网

 

[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位)

 

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

[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

 

[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         =

 

[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 =

 

 

[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@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