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

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 eygle 的 blog

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

本文关键:Linux上配置Unix ODBC连接Oracle数据库
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top