当前位置: 首页 > news >正文

Ubuntu 24.04 配置ODBC连接ORACLE 11G数据库

1. 安装必要工具和驱动

1.1 安装unixODBC和依赖库

# apt update

# apt install unixodbc unixodbc-dev libaio1 

执行失败,报错

libaio1包找不到,先跳过,安装其他两个。

# apt install unixodbc unixodbc-dev

安装成功

1.2 下载Oracle Instant Client

访问 Oracle Instant Client下载页面,

https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html

选择以下两个RPM包(需转换为Debian格式):

Basic Package(基础库,oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm)

ODBC Package(ODBC驱动,oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm)

1.3 转换为Debian包并安装

安装转换工具

# apt install alien

转换刚才下载的RPM为DEB并安装

# alien -k --scripts *.rpm

# dpkg -i oracle-instantclient*.deb

1.4 创建符号链接(解决库路径问题)

# sh -c "echo /usr/lib/oracle/11.2/client64/lib > /etc/ld.so.conf.d/oracle-instantclient.conf"

# ldconfig

2. 配置Oracle网络连接

2.1 创建TNS配置文件目录

# mkdir -p /usr/lib/oracle/11.2/client64/network/admin

2.2 配置tnsnames.ora

编辑文件 /usr/lib/oracle/11.2/client64/network/admin/tnsnames.ora,添加远程Oracle服务器的连接信息:

# cd /usr/lib/oracle/11.2/client64/network/admin

# vi  tnsnames.ora

添加以下内容

ORCL =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.200)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SID = ORCL) 

    )

  )

3. 配置ODBC驱动和数据源

3.1 配置ODBC驱动

编辑 /etc/odbcinst.ini,添加Oracle驱动配置:

# vi  /etc/odbcinst.ini

[Oracle11g]  # 驱动名称(自定义)

Description = Oracle ODBC Driver for 11g

Driver      = /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1

FileUsage   = 1

3.2 配置ODBC数据源

编辑 /etc/odbc.ini,添加数据源:

# vi  /etc/odbc.ini

[OracleTest]  # 数据源名称(自定义)

Description = Oracle 11g Connection

Driver      = Oracle11g  # 与odbcinst.ini中的驱动名称一致

ServerName  = ORCL       # 与tnsnames.ora中的条目一致

UserID      = 你的用户名

Password    = 你的密码

Port        = 1521

4. 测试连接

4.1 使用isql命令行工具

# isql -v OracleTest

报错了

提示找不到libsqora.so.11.1

但目录下有这个文件

检查驱动库依赖

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

有“not found”,应该是之前libaio1没装的问题

apt 始终找不到,只能手动下载安装包

# wget http://archive.ubuntu.com/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-5_amd64.deb

安装依赖和包

# apt install ./libaio1_0.3.112-5_amd64.deb

验证安装

# dpkg -l libaio1

再测试

# isql -v OracleTest

仍然报错

检查驱动库依赖

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

查到有说Ubuntu 24.04 默认不提供 libodbcinst.so.1,手动创建符号链接

# ln -s /usr/lib/x86_64-linux-gnu/libodbcinst.so.2 /usr/lib/x86_64-linux-gnu/libodbcinst.so.1

重新检查 libsqora.so.11.1 的依赖关系:

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

再测试

# isql -v OracleTest

仍然报错,但错误信息变了。

检查TNS 配置文件,确认 tnsnames.ora 路径和权限正常,tnsnames.ora 内容也正确。

Oracle Instant Client 需要通过环境变量明确指定 TNS 配置目录,尝试设置 TNS_ADMIN 变量

# export TNS_ADMIN=/usr/lib/oracle/11.2/client64/network/admin

再测试

# isql -v OracleTest

连接成功

将环境变量写入配置文件

# echo "export TNS_ADMIN=/usr/lib/oracle/11.2/client64/network/admin" >> ~/.bashrc

测试结束。

相关文章:

  • 从零构建企业级财务分析数仓 | Hive建模实战
  • 2025 ubuntu24.04系统安装docker
  • vue实现一个pdf在线预览,pdf选择文本并提取复制文字触发弹窗效果
  • 数据结构拓展:详解perror函数(C++)
  • 基于python实现的疫情数据可视化分析系统
  • 3. 前后端实现压缩包文件下载
  • 用R语言的XML库写一个采集图片的爬虫程序
  • 使用python进行数据分析需要安装的库
  • C++ list(双向链表)
  • [Python入门学习记录(小甲鱼)]第3章 Python基础知识
  • Python四大基本数据类型:List、Tuple、Set、Dictionary完全解析
  • 通过Docker搭个游戏——疯狂大陆(Pkland)
  • 爬虫逆向:脱壳工具Youpk的使用详解
  • 【开源免费】基于SpringBoot+Vue.JS旅游管理系统(JAVA毕业设计)
  • 树莓派3B+的初步使用
  • 数据库复习(第五版)- 第一章 绪论
  • 基于Celery+Supervisord的异步任务管理方案
  • HCIE云计算学什么?怎么学?未来职业发展如何?
  • 01 SQl注入基础步骤(数字、字符、布尔盲注、报错)
  • R2S的网络丢包率高问题小记
  • 网站做背景不显示/优化关键词排名seo
  • 茌平网站建设公司/互联网营销有哪些方式
  • 中国安能建设总公司网站/青岛seo优化
  • 南京网站制作/东莞网站建设工作
  • 建设家具网站/百度文库个人登录入口
  • null wordpress theme/山东东营网络seo