Linux UinxODBC安装与配置

Linux UinxODBC安装与配置

一、简介

ODBC是Open Database Connect 即开发数据库互连的简称,它是一个用于访问数据库的统一界面标准。ODBC引入一个公共接口以解决不同数据库潜在的不一致性,从而很好的保证了基于数据库系统的应用程序的相对独立性。

很多程序员都已经体会到了在Windows平台下通过ODBC进行数据库编程开发的益处,其实在Linux/Unix下现在也有了自己的ODBC,可以使我们的数据库编程就像在Windows平台下一样简单。

环境:Red Hat 6.1 32位系统下的unixODBC-2.3.0

二、UinxODBC安装

1.下载UnixODBC安装包

下载地址:ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.0.tar.gz

下载安装包unixODBC-2.3.0.tar.gz放到/usr/local下。

2.安装

运行下述命令:

复制代码
cd /usr/local

tar zxvf unixODBC-2.3.0.tar.gz

cd unixODBC-2.3.0

./configure --prefix=/usr/local/unixODBC-2.3.0 --includedir=/usr/include --libdir=/usr/lib --bindir=/usr/bin --sysconfdir=/etc

make

make install
复制代码

安装完成

3.测试

运行命令:

odbcinst -j

(1)安装成功:
终端会显示UnixODBC相关信息:

unixODBC所需的头文件都被安装到了/usr/inlucde下,编译好的库文件安装到了/usr/lib下,与unixODBC相关的可执行文件安装到了/usr/bin下,配置文件放到了/etc下。安装完成

(2)安装失败:

终端显示:

  odbcinst: error while loading shared libraries: libodbcinst.so.2: cannot open shared object file: No such file or directory

错误处理:

  安装共享库后要注意共享库路径设置问题, 如下:

  (1)如果库文件安装到了/lib或/usr/lib目录下:

    那么需在该目录下执行一下ldconfig命令;

    ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*),

    进而创建出动态装入程序(ld.so)所需的连接和缓存文件.  缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表. 

  (2)如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它"非/lib或/usr/lib"目录下:

    那么在执行ldconfig命令前, 还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中,如下:

# cat /etc/ld.so.conf
include ld.so.conf.d/*.

  (3)如果共享库文件安装到了其它"非/lib或/usr/lib" 目录下,  但是又不想在/etc/ld.so.conf中加路径(或者是没有权限加路径):

     那可以export一个全局变量LD_LIBRARY_PATH,然后运行程序的时候就会去这个目录中找共享库.   

     LD_LIBRARY_PATH的意思是告诉loader在哪些目录中可以找到共享库. 可以设置多个搜索目录, 这些目录之间用冒号分隔开.

     比如安装了一个mysql到/usr/local/mysql目录下, 其中有一大堆库文件在/usr/local/mysql/lib下面,  则可以在.bashrc或.bash_profile或shell里加入以下语句即可: 

    export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH  

    一般来讲这只是一种临时的解决方案, 在没有权限或临时需要的时候使用.

 

posted @   整合侠  阅读(10894)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2017-11-29 java中length,length(),size()区别
2017-11-29 web.xml配置详解之listener
2017-11-29 Eclipse中把Java工程修改成web工程
点击右上角即可分享
微信分享提示