0

我安装了 Oracle JDK 8 和 21.3 版的 SQLcl。我想运行简单的 js 脚本,但 SQLcl 找不到 js 引擎。

我在 Windows 10 下从 PowerShell 运行 SQLcl:

PS C:\run_scripts_sqlcl> sql /nolog
Picked up JAVA_TOOL_OPTIONS: -Duser.language=en


SQLcl: Release 21.3 Production on Thu Nov 04 00:32:25 2021

Copyright (c) 1982, 2021, Oracle.  All rights reserved.

SQL> show java
Java Detail
-----------
java.home= C:\Program Files\Java\jdk1.8.0_311\jre
java.vendor= Oracle Corporation
java.vendor.url= http://java.oracle.com/
java.version= 1.8.0_311
--------------------------------------------------------------------------------
os.arch= amd64
os.name= Windows 10
os.version= 10.0
path.separator= ;
file.separator= \
line.separator=

user.dir= C:\run_scripts_sqlcl
user.home= C:\Users\user
user.name= Roman.Shiryaev
user.language= en
user.region= null
file.encoding= Cp1251
Used memory: 57.2MB
Max available memory: 1,820.5MB
--------------------------------------------------------------------------------
SQL_HOME=null
Classpath

--------------------------------------------------------------------------------
null
SQL> script
  2  print('hi');
  3* /
js language engine not found
Please add js language engine to the classpath
SQL>

好像我没有正确配置某些东西,但我找不到任何有关配置 SQLcl 以运行脚本的信息。我尝试将环境变量 CLASSPATH 设置为 %JDK_HOME%/bin 但没有帮助。任何提示将不胜感激。

4

1 回答 1

0

在联系 Oracle 支持后,他们提出了以下建议:

  • 删除所有现有的 Java,尤其是通过安装程序安装的
  • 下载 Java 11 JDK
  • 将其jdk放在与sqlcl
  • 在其中创建jre文件夹并将文件夹的jdk内容jdk复制到jre一个文件夹中

经过这样的操作,它终于设法运行脚本。在 Windows 下解析 Java 路径似乎很混乱,因为它不能从 PATH 变量或 JAVA_HOME 解析它。

于 2021-12-14T08:31:06.243 回答