网上关于使用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设置成功
阅读(5711) | 评论(6) | 转发(0) |