You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Apple Silicon(M1)连接Parallels中Win11虚拟机的Oracle数据库

解决Apple Silicon(M1) DataGrip连接Parallels虚拟机Oracle HR库失败的问题

问题核心分析

先拆解你遇到的报错信息:

Failed DBMS: Oracle (no ver.) Case sensitivity: plain=mixed, delimited=exact Native library cannot be loaded. no ocijdbc21 in java.library.path: /Users/malkhaz/instantclient_19_8:/Users/malkhaz/lib:/Users/malkhaz/instantclient_19_8

核心问题点:

  • 版本不匹配:报错要找ocijdbc21(对应Oracle 21c本地库),但你装的是19.8版本的Instant Client,版本完全对不上
  • 架构可能不兼容:Apple Silicon是arm64架构,若你装的是x86版本的Instant Client,会因为架构差异导致库加载失败
  • 路径配置指向了错误版本的库目录

分步解决方案

1. 对齐Instant Client与JDBC驱动版本

两种选择二选一:

  • 换DataGrip的JDBC驱动:打开数据库连接配置的「Driver」标签页,下载Oracle 19.x对应的ojdbc8驱动包,替换当前的21版本驱动
  • 升级Instant Client:换成21c的arm64版本,确保和驱动版本一致

2. 安装适配Apple Silicon的Instant Client

  • 下载Oracle官方的arm64架构Instant Client(比如21.10或19.18版本),别用x86版本
  • 解压后放到本地目录(比如/Users/你的用户名/instantclient_21_10)
  • 在DataGrip连接配置的「Advanced」选项里,找到native library path,手动填入这个目录的绝对路径

3. 匹配DataGrip与Instant Client的架构

  • 优先用JetBrains官方的原生arm64版本DataGrip,避免Rosetta转译带来的兼容性问题
  • 如果非要用x86版本的DataGrip,必须装x86版本的Instant Client,且确保DataGrip通过Rosetta运行

4. 先搞定虚拟机网络连通性

  • 先在Mac终端测虚拟机IP连通性:ping 虚拟机IP地址,确保能通
  • 测Oracle监听端口(默认1521):nc -zv 虚拟机IP 1521,返回succeeded!才算端口开放
  • 确认虚拟机内Oracle监听服务正常,且HR用户已解锁并开启远程连接权限:
    ALTER USER hr ACCOUNT UNLOCK;
    ALTER USER hr IDENTIFIED BY 你的HR用户密码;
    

5. 手动配置Java库路径

  • 打开DataGrip的「Help」→「Edit Custom VM Options」
  • 添加一行:-Djava.library.path=/Users/你的用户名/正确的instantclient目录
  • 重启DataGrip生效

额外注意事项

  • arm64版本的Instant Client自带必要依赖,无需额外装libaio
  • 确保Instant Client目录权限正确:chmod -R 755 /你的instantclient目录

内容的提问来源于stack exchange,提问作者Malkhaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 00:01:06