linux下odbc连接oracle

这里不叙述odbc的安装方法和oracle客户端的安装方法,都比较简单!!

1.查看odbc的配置文件

odbcinst -j #查看odbc配置文件

[root@tx_sh1 ~]# odbcinst  -j
unixODBC 2.3.1
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

驱动文件在/etc/odbcinst.ini DSN配置文件在/etc/odbc.ini 配置个人的DSN:/root/.odbc.ini

2.修改驱动配置

修改/etc/odbcinst.ini添加oracle的驱动文件

vi /etc/odbcinst.ini

[oracle]
Description = ODBC for Oracle
Driver      = /data/oracle/app/oracle/product/11.2.0/db_1/lib/libsqora.so.11.1
Setup       = 
Driver64    = 
Setup64     = 
FileUsage   = 

这里我们是安装了oracle的64位客户端.odbc驱动文件在$ORACLE_HOME/lib下

这里我们还需要配置一下库文件的,否则会报错:

[root@tx_sh1 plugins]# isql txyun  ds ds -v
[01000][unixODBC][Driver Manager]Can't open lib '/data/oracle/app/oracle/product/11.2.0/db_1/lib/libsqora.so.11.1' : file not found
[ISQL]ERROR: Could not SQLConnect

报错的原因是libsqlora.so.11.1依赖文件不存在:

[root@tx_sh1 plugins]# ldd /data/oracle/app/oracle/product/11.2.0/db_1/lib/libsqora.so.11.1
    linux-vdso.so.1 =>  (0x00007ffd25379000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007fc893246000)
    libm.so.6 => /lib64/libm.so.6 (0x00007fc892f44000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc892d28000)
    libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fc892b0e000)
    libclntsh.so.11.1 => not found   #这里没有
    libodbcinst.so.1 => not found    #这里没有
    libc.so.6 => /lib64/libc.so.6 (0x00007fc892740000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fc89344a000)

这里他找的是libodbcinst.so.1,而系统的是libodbcinst.so.2只要拷贝一下就可以了

[root@tx_sh1 lib64]# cp /usr/lib64/libodbcinst.so.2 /usr/lib64/libodbcinst.so.1

这里需要添加LD_LIBRARY_PATH环境变量和ORACLE_HOME环境变量

vi /etc/profile
export ORACLE_HOME=/data/oracle/app/oracle/product/11.2.0/db_1
export LD_LIBRARY_PATH=/data/oracle/app/oracle/product/11.2.0/db_1/lib:$LD_LIBRARY_PATH

3.配置数据源文件

[root@tx_sh1 ~]# cat /etc/odbc.ini 
[txyun]
Description= ORCALE Driver
driver= oracle        #这里是驱动的名称
server= 127.0.0.1     #oracle的ip地址
Port= 11521           #oracle端口号
ServerName= txyun     #oracle服务名
UserID= ds            #oracle用户
Password= ds          #oracle密码

4.测试odbc连接

[root@tx_sh1 ~]# isql txyun
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值