Linux 下用unixODBC连接Oracle数据库的配置
2022/2/10 19:14:29
本文主要是介绍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位)
- 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配置文件
这篇关于Linux 下用unixODBC连接Oracle数据库的配置的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-30[译]漫画SELinux概念
- 2024-03-29linux 移动文件
- 2024-03-28linux .so file
- 2024-03-28Linux 磁盘管理
- 2024-03-28Linux学习笔记(十三)磁盘管理(一):磁盘分区
- 2024-03-26linux 创建 文件
- 2024-03-25使用SecureCRT对Linux vim进行颜色设置
- 2024-03-202019-2020-12 20199317 《Linux内核原理与分析》 第十二周作业
- 2024-03-20Linux运维的第二周总结
- 2024-03-13how to count number of directories in linux