安装unxiodbc软件,连接oracle数据库
admin
2023-05-30 05:21:29
0

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

重新运行验证命令即可


相关内容

热门资讯

2026年专业可靠的抖音指环遥... 探索智能遥控新纪元:揭秘指环遥控器的核心技术演进 想象一下:当你在公园记录孩子的童真笑容,双手却...
原创 秦... 摘要:建文软件以“360°可视化”为核心引擎,助力秦皇岛多信建筑重塑“AI+工程管理”新范式。依托覆...
聚力新通信 智启6G未来 6G... 2026年5月21日,以“聚力新通信·智启6G未来”为主题的6G产业创新发展大会暨第九届“绽放杯”上...
别让伪科学教育,毁了孩子的未来... 从“量子波动速读”到“脑屏开发”,再到各类“脑波智慧机”“照相记忆”“蒙眼识字”培训,以及“近红外光...
宁东方案入选工信部“链网协同”... 5月20日,记者从宁东能源化工基地管委会获悉,近日,由宁东科技创业投资有限公司牵头申报的“基于工业互...
美国欲在古巴重演“委内瑞拉剧本... 美国起诉劳尔·卡斯特罗引发外界关注,继对委内瑞拉、伊朗采取行动之后,美国又要对古巴动手吗?将引发哪些...
美国驻丹麦大使:特朗普已排除对... △美国驻丹麦大使肯尼思·豪韦里当地时间5月21日,美国驻丹麦大使肯尼思·豪韦里在格陵兰岛首府努克新美...
警惕“银狐”木马病毒来袭,涉违... 近日,国家计算机病毒应急处理中心发布关于针对我国用户的“银狐”系列木马病毒攻击活动的预警报告。国家计...
ASML首席执行官Fouque... IT之家 5 月 21 日消息,ASML(阿斯麦)首席执行官 Christophe Fouquet(...
特斯拉监督版FSD官宣入华!智... 特斯拉官方5月21日通过社交媒体公布了监督版全自动驾驶系统(FSD)的最新全球化布局,其中明确提及该...