Linux上配置Unix ODBC连接Oracle数据库

Linux上配置Unix ODBC连接Oracle数据库

作者:eygle

出处:http://blog.eygle.com

日期:January 05, 2005


Oracle10g前,Oracle并不提供UNIX/Linux下的ODBC驱动,用的最为广泛的是UnixOdbc,UnixOdbc的配置不算复杂,但是如果不顺利的话也会遇到一些问题。

今天成功安装配置了UnixOdbc把步骤总结一下供参考。 UnixOdbc可以在官方站点上下载。

以下是测试及配置步骤:

首先你需要安装Oracle客户端,并且确认网络可达。

1.使用isql进行测试

[root@magic root]# isql ********************************************** * unixODBC - isql * ********************************************** * Syntax * * * * isql DSN [UID [PWD]] [options] * * * * Options * * * * -b batch.(no prompting etc) * * -dx delimit columns with x * * -x0xXX delimit columns with XX, where * * x is in hex, ie 0x09 is tab * * -w wrap results in an HTML table * * -c column names on first row. * * (only used when -d) * * -mn limit column display width to n * * -v verbose. * * -lx set locale to x * * --version version * * * * Notes * * * * isql supports redirection and piping * * for batch processing. * * * * Examples * * * * cat My.sql | isql WebDB MyID MyPWD -w * * * * Each line in My.sql must contain * * exactly 1 SQL command except for the * * last line which must be blank. * * * * Please visit; * * * * http://www.unixodbc.org * * pharvey@codebydesign.com * * nick@easysoft.com * **********************************************

[root@magic root]# isql --versio unixODBC 2.2.10 [root@magic root]# which isql /usr/bin/isql

2./etc/odbc.ini文件配置

[ODBC Data Sources] test = Oracle ODBC Driver DSN

[default] Driver = /usr/local/easysoft/oracle/libesoracle.so

[test] Driver = /usr/local/easysoft/oracle/libesoracle.so

Description = Oracle server = 172.16.1.21 ServerType = Oracle Port = 1521 User = username Password = password Database = ava SID = ava METADATA_ID = 0 ENABLE_USER_CATALOG = 1 ENABLE_SYNONYMS = 1

[default] Driver = /usr/local/easysoft/oracle/libesoracle.so

3. /etc/odbcinst.ini 文件配置

; ; odbcinst.ini ;

[test] Description=ODBC for ORACLE Driver = /usr/local/easysoft/oracle/libesoracle.so

[ODBC] Trace=1 Debug=1 Pooling=No

4.sqlnet.ora文件配置

NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)

5.tnsnames.ora文件配置

ava = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.18.21)(PORT = 1521)) ) (CONNECT_DATA = (SID = ava) ) )

6.测试

[root@magic admin]# isql test -v +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL>

7.启动LDAP

[root@magic admin]# /usr/local/libexec/slapd -d 5 -f /home/eygle/openldap/slapd.conf @(#) $OpenLDAP: slapd 2.2.17 (Dec 29 2004 20:45:12) $ root@magic.hawa.cn:/home/eygle/openldap/openldap-2.2.17/servers/slapd daemon_init: daemon_init: listen on ldap:/// daemon_init: 1 listeners to open... ldap_url_parse_ext(ldap:///) daemon: IPv6 socket() failed errno=97 (Address family not supported by protocol) daemon: initialized ldap:/// daemon_init: 2 listeners opened slapd init: initiated server. ==>backsql_initialize() <==backsql_initialize() >>> dnNormalize: => ldap_bv2dn(cn=Subschema,0) ldap_err2string <= ldap_bv2dn(cn=Subschema)=0 Success => ldap_dn2bv(272) ldap_err2string .... ==>backsql_open_db_conn() backsql_open_db_conn(): connected, adding to tree <==backsql_open_db_conn() backsql_get_db_conn(): first call -- reading schema map ==>backsql_load_schema_map() ldapinfo.dn_ru field exists in the schema backsql_load_schema_map(): at_query "SELECT name,sel_expr,from_tbls,join_where,add_proc,delete_proc,param_order, expect_return,sel_expr_u FROM ldap_attr_mappings WHERE oc_map_id=?" <==backsql_load_schema_map() <==backsql_get_db_conn() ==>backsql_free_db_conn() backsql_free_db_conn(): closing db connection ==>backsql_close_db_conn() <==backsql_close_db_conn() <==backsql_free_db_conn() <==backsql_db_open(): test succeeded, schema map loaded slapd starting

启动成功.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

备库归档删除策略失效的问题分析 (r7笔记第6天)

最近碰到了一个有些奇怪的问题,自己当时排查问题时间紧,没有细细琢磨,今天抽空看了下,终于发现了端倪。 首先是在早晨收到了报警邮件,报警邮件内容如下: ZABBI...

4048
来自专栏杨建荣的学习笔记

通过shell定制dbms_advisor.quick_tune(r4笔记第15天)

在平时的调优工作中,在11g中的新特性sql monitor可以极大的简化性能监控的工作,对于执行时间超过5秒的sql语句都会记入v$sql_monitor中...

3204
来自专栏杨建荣的学习笔记

使用impdp不当导致的数据丢失问题(r5笔记第1天)

今天有个朋友问我们一个问题,说他在使用了impdp导入数据的时候,使用了TABLE_EXISTS_ACTION=REPLACE这个选项,结果现在数据都给覆盖了。...

3595
来自专栏杨建荣的学习笔记

数据迁移部分问题总结(r2第3天)

按照计划在周二开始了数据迁移,本来之前也做了不少的准备工作。但是还是在迁移的过程中出现了一些问题。简单做一个总结。 1.constraint导致的数据rej...

2887
来自专栏乐沙弥的世界

又一例SPFILE设置错误导致数据库无法启动

--========================================

843
来自专栏微信公众号:Java团长

Spring boot Mybatis 整合

7.项目不使用application.properties文件 而使用更加简洁的application.yml文件: 将原有的resource文件夹下的app...

1712
来自专栏乐沙弥的世界

Oracle 联机重做日志文件(ONLINE LOG FILE)

--=========================================

1122
来自专栏张善友的专栏

非域环境下使用证书设置数据库镜像

数据库镜像是将数据库事务处理从一个SQL Server数据库移动到不同SQL Server环境中的另一个SQL Server数据库中。镜像不能直接访问;它只用在...

2115
来自专栏杨建荣的学习笔记

session跟踪失效的问题和分析(57天)

最近碰到一个奇怪的问题,在生产和其他比较正式的环境中进行sql trace都没问题,但就是测试环境的数据库不知道怎么的, 设置sql_trace,开启诊断事件,...

37010
来自专栏乐沙弥的世界

Oracle 控制文件(CONTROLFILE)

为二进制文件,初始化大小由CREATE DATABASE指定,可以使用RMAN备份

1162

扫码关注云+社区

领取腾讯云代金券