`
javayestome
  • 浏览: 1050793 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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: <null><br> daemon_init: listen on ldap:///<br> daemon_init: 1 listeners to open...<br> ldap_url_parse_ext(ldap:///)<br> daemon: IPv6 socket() failed errno=97 (Address family not supported by protocol)<br> daemon: initialized ldap:///<br> daemon_init: 2 listeners opened<br> slapd init: initiated server.<br> ==&gt;backsql_initialize()<br> &lt;==backsql_initialize()<br> &gt;&gt;&gt; dnNormalize: <cn><br> =&gt; ldap_bv2dn(cn=Subschema,0)<br> ldap_err2string<br> &lt;= ldap_bv2dn(cn=Subschema)=0 Success<br> =&gt; ldap_dn2bv(272)<br> ldap_err2string<br> ....<br> ==&gt;backsql_open_db_conn()<br> backsql_open_db_conn(): connected, adding to tree<br> &lt;==backsql_open_db_conn()<br> backsql_get_db_conn(): first call -- reading schema map<br> ==&gt;backsql_load_schema_map()<br> ldapinfo.dn_ru field exists in the schema<br> backsql_load_schema_map(): at_query "SELECT name,sel_expr,from_tbls,join_where,add_proc,delete_proc,param_order,<br> expect_return,sel_expr_u FROM ldap_attr_mappings WHERE oc_map_id=?"<br> &lt;==backsql_load_schema_map()<br> &lt;==backsql_get_db_conn()<br> ==&gt;backsql_free_db_conn()<br> backsql_free_db_conn(): closing db connection<br> ==&gt;backsql_close_db_conn()<br> &lt;==backsql_close_db_conn()<br> &lt;==backsql_free_db_conn()<br> &lt;==backsql_db_open(): test succeeded, schema map loaded<br> slapd starting <br></cn></null>

启动成功.

<!-- google_ad_client = "pub-1012037994804294"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_channel =""; //-->
分享到:
评论

相关推荐

    foxitreader 4.1.1

    4. "Linux上配置Unix ODBC连接Oracle数据库.pdf" - 这篇文章详细讲解了如何在Linux环境下使用Unix ODBC驱动程序连接到Oracle数据库,涵盖了从安装Oracle Instant Client到配置ODBC数据源的全过程,对于需要在Linux...

    LINUX平台JAVA直接连接access数据库dbf文件

    6. **注意事项**:虽然理论上可以通过JDBC-ODBC桥在LINUX上连接Access DBF文件,但由于跨平台的兼容性问题,可能会遇到一些挑战,如文件格式、字符编码等问题。因此,这种方法可能不适合大规模的生产环境,更推荐在...

    Unix下基于OCI的Oracle数据库的访问.pdf

    综上所述,文件《Unix下基于OCI的Oracle数据库的访问.pdf》系统地介绍了在Unix环境下如何使用OCI接口与Oracle数据库交互的详细步骤和方法,同时对OCI接口进行了深入的分析和封装说明,以及与其他访问方式的比较。...

    linux系统及oracle数据库安装

    通过以上五个部分的详细说明,可以看出从Linux操作系统的安装到Oracle数据库的安装和配置,每一个环节都非常关键且需要注意细节。这些步骤不仅确保了系统的稳定运行,还为Oracle数据库的成功部署奠定了坚实的基础。

    连接各种数据库小工具

    其次,SqlDbxPersonal支持多种数据库协议,如ODBC、JDBC等,这意味着它可以灵活地适应不同的数据库环境,无论是在Windows、Linux还是Unix平台上,都能游刃有余。同时,该工具还支持SSL加密连接,确保了数据传输的...

    instantclient-basic-windows.x64-11.2.0.4.0 oracle数据库轻量化客户端工具.zip

    2. **连接性**:提供ODBC、OCI(Oracle Call Interface)和SQL*Plus等组件,使得开发者可以编写程序连接到Oracle数据库,进行数据查询、更新等操作。 3. **跨平台**:除了Windows,还支持Linux、Unix等多种操作系统...

    用OCI接口操作Oracle数据库详细说明

    - **操作系统**:OCI可以在多种操作系统上运行,如Windows、UNIX、Linux等。 - **Oracle客户端**:安装Oracle客户端软件,其中包含了OCI库文件。 - **编译器设置**:根据使用的编程语言选择相应的编译器,并正确...

    linux数据库编程

    - 调优工具:如MySQL的`EXPLAIN`和`SHOW VARIABLES`,用于分析和调整数据库配置。 7. **备份与恢复**: - 数据备份策略:全备、增量、差异备份,理解它们的适用场景。 - 备份工具:如MySQL的`mysqldump`,...

    InfoSphere Information Server ODBC驱动安装for Linux

    在DataStage设计环境中,可以使用配置好的ODBC数据源来连接到Oracle数据库,执行ETL(抽取、转换、加载)任务。 5. **验证配置**: 安装和配置完成后,通过`isql`命令行工具测试ODBC连接,或者在DataStage项目中...

    ORACLE数据库初探

    在Linux或Unix系统上,命令行工具如"runInstaller"将被使用。安装过程中需注意硬件和软件需求,以及规划合适的存储和内存分配。 数据库连接是与Oracle数据库交互的基础。"ORACLE_LINK_UDL.doc"可能是关于如何创建...

    Essbase在Unix or Linux下使用ODBC数据源

    总的来说,配置Essbase在Unix或Linux下使用ODBC数据源涉及环境变量设置、库文件链接、ODBC数据源配置以及在EAS中的应用。这一过程确保了Essbase能通过ODBC接口与各种数据库系统无缝交互,满足企业的数据集成需求。

    Linux Oracle 11g rpm 包 64位

    标签“linux oracle rpm”进一步明确了这个压缩包的内容,它主要与Linux系统和Oracle数据库的RPM安装包相关。 压缩包内的文件列表包括了多个RPM软件包,这些都是安装Oracle 11g数据库所需的依赖或支持组件: 1. ...

    LinuxUnix下ODBC的安装、配置与编程.doc

    ### Linux/Unix下ODBC的安装、配置与编程详析 #### ODBC基本原理与功能 ODBC(Open Database Connectivity)是一种开放标准的应用程序接口(API),由Microsoft于1991年提出,旨在为不同数据库系统提供统一的访问...

    oracle10g_for_linux

    Oracle 10g for Linux是针对在Linux操作系统上部署和管理Oracle数据库的全面教程。Oracle数据库是世界上最流行的关系型数据库管理系统之一,而Linux作为开源且稳定的服务器操作系统,是许多企业和开发人员的选择。...

    unixODBC-devel-2.3.1-14.el7.x86_64_oracle_UNIX_

    这些元素揭示了该软件包是Unix平台上的一个开发版本(devel)的Open Database Connectivity (ODBC)驱动程序,特别针对Oracle数据库系统优化,适用于64位的Red Hat Enterprise Linux 7 (RHEL 7)或兼容系统。...

    欧拉系统安装oracle 11g

    30. unixODBC*:用于提供 ODBC 数据库连接的依赖包。 31. elfutils-libelf-devel-0.97:用于提供 elfutils 库的开发包。 32. redhat-lsb-core*:用于提供 LSB 核心依赖包。 33. unzip*:用于提供 unzip 工具。 34. ...

    oracle数据库 10g 企业版数据表

    - **多平台支持**:Oracle 10g企业版在所有受Oracle支持的操作系统上均能运行,无论是Windows、Linux还是Unix,都能确保一致性和稳定性,适应企业多元化的IT环境。 - **全面的数据管理**:除了传统的SQL接口,还...

    oracle官方64位客户端-instantclient-basic-windows.x64-11.2.0.4.0.zip

    4. **ODBC(Open Database Connectivity)**:通过ODBC驱动,Oracle Instant Client使得Windows上的应用程序可以使用标准的ODBC API来连接Oracle数据库。 5. **JDBC(Java Database Connectivity)**:为Java应用...

    instantclient-basic-linux.x64-19.3.0.0.0dbru.zip

    Instant Client中的ODBC驱动程序使得Linux和macOS上的应用程序也能使用ODBC连接Oracle数据库。 3. JDBC (Java Database Connectivity):Java应用程序使用JDBC驱动程序与数据库通信。Oracle Instant Client提供了 ...

    ORACLE依赖包unixODBC-devel-2.2.11-7.1.i386.rpm

    2. 配置ODBC,创建数据源(DSN)以连接到Oracle数据库。这通常涉及到编辑`/etc/odbc.ini`和`/etc/odbcinst.ini`文件,定义DSN和ODBC驱动。 3. 验证安装并测试ODBC连接。可以使用`isql`命令行工具或者ODBC数据源管理...

Global site tag (gtag.js) - Google Analytics