千家信息网

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

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,安装unixodbc--以下操作在root用户下操作安装过程和报错处理我是参考及引用网络上的资源,也结合了自己的实际安装环境一、安装unixodbc工具1、下载unixodbc压缩包(unixODBC
千家信息网最后更新 2025年01月21日安装unxiodbc软件,连接oracle数据库

安装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

重新运行验证命令即可


配置 数据 文件 数据库 命令 系统 运行 驱动 地址 环境 用户 程序 软件 不同 动态 变量 名字 后跟 实际 工具 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 世界战争英雄服务器暂时不可用 广州企业软件开发多少钱 利亚方舟影楼管理系统服务器配置 163网易企业邮箱收件服务器 卫生网络安全 云计算专业和数据库专业哪个好 天地劫龙绝捍卫服务器几时开的 软件开发股价 net和软件开发平台 如何改网络安全密钥 消费软件开发 大专网络技术就业周记 特别防护期网络安全保障工作方案 阳谷软件开发商是谁 数据库I是什么意思 对网络技术的利弊_进行分析 三年级网络安全手抄报模板 舟山企业软件开发要求 诛仙手游服务器等级有什么作用 链信云保网络技术有限公司 数据库工程师有用吗 数据库安全的层次模型包括 百官小学生网络安全 工业网络技术工作岗位 mc开服务器好友不能破坏方块 中文期刊数据库有万方数据库吗 中国电脑软件开发公司 网络安全工作负责 上海软件开发学校哪个好 不可替代的app软件开发
0