iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >安装unxiodbc软件,连接oracle数据库
  • 813
分享到

安装unxiodbc软件,连接oracle数据库

2024-04-02 19:04:59 813人浏览 泡泡鱼
摘要

         安装unixodbc——以下操作在root用户下操作    安装过程和报错处理我是参考及引用网络上的资源,也结合了自己

         安装unixodbc——以下操作在root用户下操作


    安装过程和报错处理我是参考及引用网络上的资源,也结合了自己的实际安装环境


一、安装unixodbc工具

1、下载unixodbc压缩包(unixODBC-2.3.4.tar.gz),用ssh工具将其上传linux服务器。(下载地址:Http://www.unixodbc.org/)


2、输入以下命令,进行安装:

#tar   -zxvf   unixODBC-2.3.4.tar.gz——解压

#cd  unixODBC-2.3.4——进入解压后的安装目录

#./configure --prefix=/usr/local/unixODBC-2.3.4 --includedir=/usr/include --libdir=/usr/lib --bindir=/usr/bin --sysconfdir=/etc——对unixODBC-2.3.4软件进行配置

#make——对unixODBC-2.3.4进行编译

#make install——安装unixODBC-2.3.4

ps:在Linux下安装一个应用程序时,一般先运行脚本configure,然后用make来编译源程序,在运行make install,最后运行make clean删除一些临时文件(没做过最后一步)。


二、安装oracle数据库的odbc驱动

1、下载、上传并安装以下两同版本号的rpm软件包

oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm

oracle-instantclient11.2-odbc-11.2.0.1.0-1.i386.rpm

下载地址: http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

#rpm -ivh oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm ——安装操作

#rpm -ivh oracle-instantclient11.2-odbc-11.2.0.1.0-1.i386.rpm——安装操作

ps:下载32位或63位的rpm包,由linux系统来决定,用uname -a,可查看当前系统的型号


2、将/usr/lib/oracle/11.2/client/lib/* 拷贝到/usr/lib/目录下——将oracle下动态连接共享库拷贝到linux系统默认路径下


3、执行ldconfig——将linux系统新增的oracle动态连接共享库进行加载


4、在/usr/lib/oracle/11.2/NETwork/admin/ 下创建文件tnsnames.ora ,如下:

ORCL =

(DESCRIPTioN =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = tcp)(HOST = 10.162.35.137)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = ORCL)

)

)

其中ORCL为一个标识名,配置文件odbc.ini中的ServerName项要与之相对应,SERVICE_NAME后跟要访问的数据库名,HOST为数据库所在主机IP地址,PORT为端口号。

ps:若之前已经有tnsnames.ora文件,注意看下配置细节即可。


5、在/etc/profile中增加:  export TNS_ADMIN=/usr/lib/oracle/11.2/network/admin/——配置新增的环境变量信息


6、执行 . /etc/profile (注意前面的英文句号,点号后面有空格) 将环境变量注册


三、文件配置

主要是修改 /etc/ 下的两个配置文件 odbc.ini 及 odbcinst.ini 。

1、在/etc/odbcinst.ini 中对各数据库的驱动进行配置,一般格式如

[oraclezy]

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

ps:上述配置中的 Driver 及 Setup 后跟的字段,可能由于版本不同,配置会略有不同,要以本机上的库名或驱动名为准,可先用 ls 命令查看一下。


2、在 /etc/odbc.ini 中对应用程序要调用的ODBC接口进行配置,格式如下:

[oracle]

#odbcinst.ini中对应中括号中的名字

driver      = oraclezy

server      = 192.168.1.167 or localhost

port        = 1521

#tns的名字

ServerName  = ORCL

UserID           = root

passWord      = 123456(以安装oracle数据库时注册的用户为主)


四、测试连接

完成以上操作后,执行iqsl oracle(以在odbc.ini的数据源名为主)  root(用户) 123456(密码) -v

即:isql oracle root 123456 -v

出现此界面,即安装配置成功:

+---------------------------------------+

| Connected!                            |

|                                       |

| sql-statement                         |

| help [tablename]                      |

| quit                                  |

|                                       |

+---------------------------------------+

SQL>


五、odbc连接oracle数据库报错类型

1、ORA-12170:TNS:Connect timeout occurred:连接超时,注意/etc/odbc.ini 配置文件中servername与tnsnames.ora是否一致

ps:我在安装时,就只遇到一个报错:

[01000][unixODBC][Driver Manager]Can't open lib '/usr/lib/oracle/10.2.0.4/client

/libsqora.so.10.1' : file not found

[ISQL]ERROR: Could not SQLConnect

处理方法:

原因是libsqora.so.11.1依赖的包没有

参考链接:http://bbs.csdn.net/topics/390566189

1、使用如下命令查看依赖关系

# ldd /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1

linux-vdso.so.1 =>  (0x00007fff99b1d000)

libdl.so.2 => /lib64/libdl.so.2 (0x00007fbcb52f1000)

libm.so.6 => /lib64/libm.so.6 (0x00007fbcb506c000)

libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbcb4e4f000)

libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fbcb4c36000)

libclntsh.so.11.1 => /usr/lib/oracle/11.2/client64/lib/libclntsh.so.11.1 (0x00007fbcb22c6000)

libodbcinst.so.1 => not found (0x00007fbcb20b5000)

libc.so.6 => /lib64/libc.so.6 (0x00007fbcb1d23000)

/lib64/ld-linux-x86-64.so.2 (0x000000393aa00000)

libnnz11.so => /usr/lib/oracle/11.2/client64/lib/libnnz11.so (0x00007fbcb1955000)

libaio.so.1 => /lib64/libaio.so.1 (0x00007fbcb1754000)

libltdl.so.7 => /usr/lib64/libltdl.so.7 (0x00007fbcb154b000)

2、使用如下命令查找libodbcinst.so.1的位置

#find / -name libodbcinst*

/usr/lib64/libodbcinst.so

/usr/lib64/libodbcinst.so.2

/usr/lib64/libodbcinst.so.2.0.0

/usr/lib/libodbcinst.so

/usr/lib/libodbcinst.so.2

/usr/lib/libodbcinst.so.2.0.0

确实没有libodbcinst.so.1

3、解决该问题是实际操作

将/usr/lib64/libodbcinst.so.2、/usr/lib/libodbcinst.so.2分别复制

#cp /usr/lib/libodbcinst.so.2 /usr/lib/libodbcinst.so.1

#cp /usr/lib64/libodbcinst.so.2 /usr/lib64/libodbcinst.so.1

重新运行验证命令即可


您可能感兴趣的文档:

--结束END--

本文标题: 安装unxiodbc软件,连接oracle数据库

本文链接: https://www.lsjlt.com/news/50442.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle怎么查询当前用户所有的表
    要查询当前用户拥有的所有表,可以使用以下 sql 命令:select * from user_tables; 如何查询当前用户拥有的所有表 要查询当前用户拥有的所有表,可以使...
    99+
    2024-05-14
    oracle
  • oracle怎么备份表中数据
    oracle 表数据备份的方法包括:导出数据 (exp):将表数据导出到外部文件。导入数据 (imp):将导出文件中的数据导入表中。用户管理的备份 (umr):允许用户控制备份和恢复过程...
    99+
    2024-05-14
    oracle
  • oracle怎么做到数据实时备份
    oracle 实时备份通过持续保持数据库和事务日志的副本来实现数据保护,提供快速恢复。实现机制主要包括归档重做日志和 asm 卷管理系统。它最小化数据丢失、加快恢复时间、消除手动备份任务...
    99+
    2024-05-14
    oracle 数据丢失
  • oracle怎么查询所有的表空间
    要查询 oracle 中的所有表空间,可以使用 sql 语句 "select tablespace_name from dba_tablespaces",其中 dba_tabl...
    99+
    2024-05-14
    oracle
  • oracle怎么创建新用户并赋予权限设置
    答案:要创建 oracle 新用户,请执行以下步骤:以具有 create user 权限的用户身份登录;在 sql*plus 窗口中输入 create user identified ...
    99+
    2024-05-14
    oracle
  • oracle怎么建立新用户
    在 oracle 数据库中创建用户的方法:使用 sql*plus 连接数据库;使用 create user 语法创建新用户;根据用户需要授予权限;注销并重新登录以使更改生效。 如何在 ...
    99+
    2024-05-14
    oracle
  • oracle怎么创建新用户并赋予权限密码
    本教程详细介绍了如何使用 oracle 创建一个新用户并授予其权限:创建新用户并设置密码。授予对特定表的读写权限。授予创建序列的权限。根据需要授予其他权限。 如何使用 Oracle 创...
    99+
    2024-05-14
    oracle
  • oracle怎么查询时间段内的数据记录表
    在 oracle 数据库中查询指定时间段内的数据记录表,可以使用 between 操作符,用于比较日期或时间的范围。语法:select * from table_name wh...
    99+
    2024-05-14
    oracle
  • oracle怎么查看表的分区
    问题:如何查看 oracle 表的分区?步骤:查询数据字典视图 all_tab_partitions,指定表名。结果显示分区名称、上边界值和下边界值。 如何查看 Oracle 表的分区...
    99+
    2024-05-14
    oracle
  • oracle怎么导入dump文件
    要导入 dump 文件,请先停止 oracle 服务,然后使用 impdp 命令。步骤包括:停止 oracle 数据库服务。导航到 oracle 数据泵工具目录。使用 impdp 命令导...
    99+
    2024-05-14
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作