我下载了 SQLcl,解压缩它,将 PATH 系统变量指向它的 \bin,切换到命令提示符(Windows 10),但仍然无法使用它连接到我的数据库(11g)。sql /nolog是我能做到的极限。
首先,它说:
“错误消息 = java.library.path 中没有 ocijdbc21:...”,
我搜索了一下,惊讶地发现它需要 Oracle 的“即时客户端”(Oracle 说了类似“只需解压并连接”之类的话)。我下载并安装了 IC,运行,然后又出现了另一个错误消息:
“错误消息 = libocijdbc 版本不兼容 [Jdbc:211200230906,Jdbc-OCI:2115000”
我尝试了另一个版本的 IC(版本 19),但收到“无法找到...”之类的提示,所以我切换回了“不兼容版本”(21_15)。我使用的是 SQLcl 版本 24.2.0.180.1721。
你能帮我吗?
您可能在环境变量中存在旧版 Oracle 的 ORACLE_HOME。Sqlcl 不需要 oracle 客户端,但它可能会尝试使用它。尝试从 cmd 运行,首先设置 SET ORACLE_HOME="",然后运行 sql.exe。
按 Windows + R,输入 sysdm.cpl。转到高级选项卡,然后单击环境变量。在系统变量下,找到并选择路径,然后单击编辑。添加 Instant Client 文件夹的完整路径,例如:C:\oracle\instantclient_21_9\bin。