必须用oracle developer tools for vs code,其他插件不支持oracle协议;需安装匹配的.net core 3.1.30运行时,配置oracle.tnsadmin和nls_lang(american_america.al32utf8),严格按lsnrctl status填写service_name,重启vs code才生效。

必须用 Oracle Developer Tools for VS Code,其他插件(如 SQLTools、Database Client)不支持 Oracle 协议,连 tnsnames.ora 都读不了,填了 oracle.tnsAdmin 路径也完全无效。
安装前先确认 .NET Core 版本是否匹配
插件后台依赖 .NET Core 运行时,但只兼容 2.2.x 或 3.1 LTS;装了 .NET 5、.NET 6、.NET 7+ 会导致进程静默启动失败,VS Code 里既不报错,也不显示 Oracle 图标。
- Windows 用户可在命令行运行
dotnet --list-runtimes查看已安装版本 - 若只有新版 .NET,需单独下载并安装
.NET Core 3.1.30(LTS 最后一个补丁版),无需卸载新版 - macOS/Linux 用户注意:
dotnet命令必须在终端能直接调用,否则插件初始化失败
安装后必须重启 VS Code 才生效
插件加载逻辑强制依赖 VS Code 全局服务重载,不重启就等于没装——侧边栏看不到 Oracle 图标,Ctrl+Shift+P 搜不到 Oracle:Connect,新建连接按钮也不会出现。
- 重启前可快速验证:按
Ctrl+Shift+P输入Oracle,无任何命令提示即说明未加载 - 重启后仍不显示?检查扩展市场中发布者是否为
Oracle(不是个人账号如cweijan或mtxr) - Windows 用户若已装 Oracle 客户端,插件会自动复用
oci.dll;macOS/Linux 必须手动配置LD_LIBRARY_PATH(Linux)或DYLD_LIBRARY_PATH(macOS)指向 instantclient 目录
Basic 连接三字段必须严格匹配监听器输出
填错任意一项,连接会卡在 Connecting... 或直接弹出 Connection failed;反复点击 Create Connection 不解决问题,要先查监听器真实配置。
-
Host:别填localhost—— macOS/Linux 下可能走 IPv6 回环失败,改用127.0.0.1;远程库必须填真实 IP 或 DNS 名,不能是内网别名 -
Port:默认是1521,不是8080、22或1522(除非你确认监听器启用了非标端口) -
SERVICE_NAME:不是 SID,也不是数据库名;必须和lsnrctl status输出中SERVICE_NAME一栏**完全一致**,大小写敏感、空格不可省略(常见错误:填ORCL,实际是orclpdb1)
中文乱码必须显式设置 NLS_LANG
即使连接成功,查询含中文的字段也可能返回问号或乱码,根本原因是客户端字符集未对齐。插件不自动继承系统 locale,必须手动配置。
- 在 VS Code 设置中搜索
oracle.nlsLang,设为AMERICAN_AMERICA.AL32UTF8 - 不要用
ZHS16GBK或AL32UTF8(缺语言部分),Oracle OCI 要求完整格式:<language>_<territory>.<charset></charset></territory></language> - 该设置影响所有连接,无需每条连接单独配;改完不用重启,新连接即生效
最容易被忽略的是 SERVICE_NAME 和 oracle.nlsLang 的严格性:前者大小写/空格错一位就连不上,后者少写 AMERICAN_AMERICA. 前缀就会中文变问号。这两个点不解决,其他步骤做得再全也没用。











