Chinaunix首页 | 论坛 | 博客
  • 博客访问: 349186
  • 博文数量: 46
  • 博客积分: 4936
  • 博客等级: 上校
  • 技术积分: 575
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-25 20:14
文章分类

全部博文(46)

文章存档

2012年(4)

2011年(1)

2010年(23)

2009年(18)

分类: LINUX

2010-02-09 09:31:46

网上关于使用unixodbc连接oracle的方法很多,但是大部分都不准确,设置和安装的步骤有一部分是多余的,我总结了网上的文章并经过尝试进行简 化步骤,感觉比较好使,但是因为所有材料来自网上,所以不敢独享,现发布出来,希望对使用这方面的人一点提示。
本文可以任意转载,但请保留出处
//by rainfish
//from http://rainfish.cublog.cn/
1. 下载最新版的unixodbc并安装。
2. 下载
oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm
oracle-instantclient11.2-odbc-11.2.0.1.0-1.i386.rpm
安装。
将/usr/lib/oracle/11.2/client/lib/ 拷贝到/usr/lib/中

执行ldconfig

3. 编辑/etc/odbc.ini odbcinst.ini
内容如:
odbc.ini
[MY_ORACLE]
#odbcinst.ini中对应中括号中的名字
driver      = Oracle_test
server      = 192.168.1.167
port        = 1521
#tns的名字
ServerName  = MY_ORACLE
UserID      = sa
password    = 123456

odbcinst.ini
[Oracle_test]
Description     = odbc for Oracle
Driver      = /usr/lib/libsqora.so.11.1
Setup       = /usr/lib/liboraodbcS.so
FileUsage       = 1

#这个未知,但还是加上吧
[ODBC]
Trace=1
Debug=1
Pooling=No

在/usr/lib/oracle/11.2/network/admin/(这个路径可以放到程序所在路径中)中增加文件tnsnames.ora
内容:
MY_ORACLE =
  (DESCRIPTION =
       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.167)(PORT = 1521))
           (CONNECT_DATA =
                  (SERVER = DEDICATED)
                        (SERVICE_NAME = mydb)
                            )
             )
其中MY_ORACLE为odbc.ini的ServerName,SERVICE_NAME为数据库名字,HOST为数据库所在主机IP,PORT为数 据库所在主机port。

在/etc/profile中增加:
export TNS_ADMIN=/usr/lib/oracle/11.2/network/admin/(此处可以放到程序中设置环境变量的形式,会在后续封装 odbc的使用中说明)

执行 . /etc/profile (注意前面的英文句号) 把环境变量注册。

这时候如果数据库没问题,就可以连接上了
执行 isql MY_ORACLE -v(-v表示会提示出错信息)

应该会出现
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

恭喜你, ODBC设置成功
阅读(6382) | 评论(6) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-03-31 17:09:45

你好,朋友,我最近也在弄linux用unixodbc连接oracle,但是出现了很多的问题,一个是我的linux是64位的,二一个是我装完你上边说的两个oracle客户端后没有network/admin这个文件夹,我从网上查了好久,不知道什么原因,所以想问问你!