在ARM 架构的 Mac 上 更新Navicat到17后连接Oracle时报错:未加载 Oracle 库。

一:问题

使用的M1芯片的Mac,将Navicat更新到了17版本后,原本正常的Oracle数据库无法连接,报错:未加载 Oracle 库。而sqlserver库可以正常连接

二:解决方法

打开聚焦搜索------〉打开访达------〉在应用程序中选中Navicat------〉右击显示简介------〉勾选使用Rosetta打开------〉重启Navicat 解决问题

三:无法连接Oracle的原因

架构不兼容导致的

Navicat 17 是纯 ARM 原生应用(针对 Apple Silicon 芯片优化),之所以无法连接Oracle,是因为Navicat 17 直接调用的Oracle的版本客户端是Intel 版的,在纯 ARM 环境下会因指令集不兼容而失败,而之前版本可以连接是因为其本身就是 Intel 应用,已经是通过Rosetta转译后的

通过执行以下sql可查看数据库版本

复制代码
SELECT banner FROM v$version WHERE banner LIKE 'Oracle%';

10.2.0.3.0 不兼容 ARM 架构,如果需要在 ARM 架构上使用 Oracle 数据库,需要选择 Oracle Database 19c 及以上版本,这些版本已经通过认证,可以在热门 ARM 架构上部署,并支持云端和本地环境

四:Rosetta的作用

Rosetta 2 是 Apple 提供的翻译层,允许 ARM 架构的 Mac 运行 Intel 应用。启用后:模拟 Intel 环境:Navicat 在 Rosetta 2 的模拟下以 Intel 模式运行,能无缝调用 Intel 版 Oracle 客户端库。

缺点就是会影响速度

相关推荐
转战英雄枫3 小时前
Mac上打开安卓虚拟机BlueStacks Air闪退问题解决
macos·bluestacks
liliangcsdn6 小时前
mac m1安装homebrew和iterm2示例
macos
墨&白.7 小时前
如何卸载/更新Mac上的R版本
开发语言·macos·r语言
游戏开发爱好者87 小时前
苹果 App 上架流程,结合 Xcode、CI 等常见工具
macos·ios·ci/cd·小程序·uni-app·iphone·xcode
科技智驱8 小时前
Mac废纸篓清空的东西能还原吗?找回Mac废纸篓数据的教程
macos·数据恢复
猫头虎1 天前
GoLand 2025.3 最新变化:值得更新吗?
ide·windows·macos·pycharm·编辑器·intellij-idea·idea
_可乐无糖1 天前
内网穿透工具使用指南:ngrok 和 cpolar
安全·macos·云计算
不爱吃糖的程序媛1 天前
鸿蒙PC命令行开发 macOS 上解决 pkg-config 命令未安装的问题
macos·华为·harmonyos
淘气淘的宝宝1 天前
MAC intel 迁移至M4后brew及iterm2配置
macos
不爱吃糖的程序媛1 天前
解决鸿蒙PC命令行编译 macOS 上 cp 命令参数冲突问题
macos·harmonyos·策略模式