首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在SQL Developer目录之外运行sqlcl

如何在SQL Developer目录之外运行sqlcl
EN

Stack Overflow用户
提问于 2021-11-24 13:13:04
回答 1查看 391关注 0票数 0

我已经安装了Oracle WINDOWS.X64_213000_client.zip

我希望使用捆绑的sql.exe在我的项目目录中运行SQL脚本。

sql.exe位于下面的目录中,我将其添加到Path env:

代码语言:javascript
运行
复制
E:\Oracle_21c\app\client\product\21.0.0\client_1\sqldeveloper\sqldeveloper\bin

jar文件在

代码语言:javascript
运行
复制
E:\Oracle_21c\app\client\product\21.0.0\client_1\sqldeveloper\sqldeveloper\lib

以下工作:

代码语言:javascript
运行
复制
cd E:\Oracle_21c\app\client\product\21.0.0\client_1\sqldeveloper

\sqldeveloper\bin\sql -LOGON user/password@tns_db_alias  
   select 'a' as a from dual;  

但是,我只能从该目录运行它,如果我试图从path目录运行sql.exe,而不将它限定为bin\sql,则会抛出一个异常。

sql -LOGON用户/密码@tns_db_别名 线程"main“java.lang.NoClassDefFoundError: org/apache/hc/core5 5/http/ParseException中的异常

如何使sql.exe可以通过路径运行和访问?

这样我就可以在任意目录中,例如\projects\myproj\

并使用sql.exe运行脚本。

代码语言:javascript
运行
复制
cd \projects\myproj\
sql -LOGON user/password@tns_db_alias my_db_script.sql
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-24 15:06:55

有个窃听器。

当我尝试从这个发行版运行包含的'sql‘(SQLcl)程序时-

代码语言:javascript
运行
复制
c:\oracle\client\product\21.0.0\client_1\bin>sql /nolog
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hc/core5/http/ParseException
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
        at java.lang.Class.getConstructor0(Class.java:3075)
        at java.lang.Class.newInstance(Class.java:412)
        at oracle.dbtools.raptor.newscriptrunner.CommandRegistry.addListener(CommandRegistry.java:75)
        at oracle.dbtools.raptor.newscriptrunner.CommandRegistry.addForAllStmtsListener(CommandRegistry.java:649)
        at oracle.dbtools.commands.NetCommands.registerCommands(NetCommands.java:28)
        at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.initSqlcl(SqlCli.java:196)
        at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.runSqlcl(SqlCli.java:962)
        at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.main(SqlCli.java:369)
Caused by: java.lang.ClassNotFoundException: org.apache.hc.core5.http.ParseException
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 10 more

转到oracle.com/sqlcl -下载独立的Zip。把它放在它自己的目录中,它就会运行得很好。

我们将尽快更新21c发行版,以便为客户端下载修复此问题。

解决方法,更新您的路径以包括..product\21.0.0\client_1\sqldeveloper\sqldeveloper\bin

如果你在这个目录下运行sql.exe,它能工作-

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70096734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档