问题标签 [sqlcl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在 maven java 项目中使用 SQLcl
我正在尝试在我的 Maven Java 项目中使用 SQLcl,但我不知道如何使用它。
到目前为止我已经尝试过:
我从oracle下载了最新的 SQLcl (sqlcl-19.4.0.354.0937.zip) 。我将所有文件提取到本地文件夹中。然后我用终端打开 sqlcl-19.4.0.354.0937\sqlcl\lib 文件夹并运行“mvn validate”。Maven 表示缺少“ucp.jar”。我从oracle 下载中下载了那个 jar并再次运行它。这次它“似乎运行成功”。我还尝试了“mvn clean install”,结果相同。
但是,我无法在我的 m2 文件夹中的任何位置找到“ dbtools-common.jar ”、“ dbtools-http.jar ”或“ dbtools-sqlcl.jar ”文件。本教程正在解释这样做。Intellij 无法导入像“ScriptParser”这样的类,因为缺少依赖项。
这样做的正确方法是什么?
performance - 导出数据到csv文件:sqlplus vs sqlcl parallel vs pl/sql utl_file dbms_parallel_execute,哪个更快
在我的上一个项目中,我们正在处理需要读取大量数据(4000 万行)并且对于每一行我们需要触发一个流程的需求。作为设计的一部分,我们使用了多线程,其中每个线程使用具有可配置提取大小的 Jdbc 游标为给定分区提取数据。但是,当我们在 Prod 环境中的应用程序中运行该作业时,我们观察到它很慢,因为从数据库中查询数据需要更多时间。
由于我们在完成作业执行时的时间线非常紧迫,因此我们想出了一些解决方法,即数据从 SQL Developer 以 csv 文件格式导出并拆分为小文件。这些文件提供给作业。这大大提高了工作绩效,并有助于按时完成工作。
如上所述,我们使用手动步骤将数据导出到文件。如果这需要自动执行此步骤,例如从 Java App 执行导出步骤,以下选项之一(在网络上建议)将更快。
- sqlplus(Java 对 sqlplus 进行本机调用)
- sqlcl 并行假脱机
- 带有 utl_file 和 dbms_parallel_execute 的 pl/sql 过程
下面的链接提供了有关上述内容的一些详细信息,但没有统计信息。
https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:9536328100346697722
请注意,目前我无法访问此 Oracle 环境,因此无法从我这边进行测试。此外,我是一名应用程序开发人员,在数据库方面没有太多专业知识。因此,请向之前从事过类似用例或具有相关专业知识的人寻求建议。
提前致谢。
oracle - Oracle sqlcl 格式在格式化文件时忽略自定义规则
sqlcl 在格式化缓冲区时似乎使用格式化规则,但在格式化文件时忽略它们。
我有一个输入文件(test.sql)和一小组格式化规则(format.xml)
显示应用于缓冲区而不是文件的规则的 sqlcl 会话:
设置 SQLFORMATPATH 也不起作用:
windows-10 - SQLCL 与 Adoptopenjdk
我想了解一些“魔术”,这里是如何重现:
在此处获取 SQLCL:https ://www.oracle.com/fr/database/technologies/appdev/sqlcl.html
但是 SQLCL 需要 jre 1.8,所以在这里获取 AdoptOpenJDK 8:https ://adoptopenjdk.net/?variant=openjdk8&jvmVariant=hotspot
当 java_home 设置和 sqlcl 在 path :
我找到了两个解决方案:
- 安装最新的官方 JRE 1.8。
- 将 jre 从采用openjdk next(而不是 IN)复制到 sqlcl 文件夹。
注意:我在默认文件夹中安装了 openjdk,但在自定义文件夹中安装了 sqlcl,在同一个驱动器上。
你怎么解释?
(我想使用 openjdk 所以不太喜欢第一个解决方案,发现第二个有点脏......)
python - 在 python 中使用 SQLCL 运行 sql 脚本
我发现了 Oracle 的 SQLCL 并能够使其在终端中工作。通过输入实际的 SQL 查询,我还能够使其在 Python 中工作。
我在 Python 中的代码如下所示:
此时,我得到“SQL>”提示,表明 Oracle 已准备好接受我的查询。我想做的是在脚本中输入位置并执行它,例如:
基本上,我需要一种通过 Python 将 SQL 语句或脚本位置传递给 SQL 提示符的方法。
oracle - 如何创建 Oracle SQLcl 单行命令
我正在尝试使用单行查询在 Windows 10 cmd 上运行 sqlcl ...
简单地说,这就是我想要做的事情:
我知道这在 linux 中是可能的,但我得到了
错误的文件名:'SELECT
我能做的是将查询放入一个名为 test.txt 的文件中,如下所示:
并运行以下命令 - 这有效(但我试图避免使用该文件作为命令的源):
这会产生所需的查询结果(在我的例子中是这个):
一些
测试1 测试2 测试3
在系统上运行某些操作后,我需要在脚本中使用它来检查表的内容。
由于这个问题是特定于 Windows 和 sqlcl 的......我将留下答案......以下工作和客户端自动退出 - (无需退出):
sql - 如何在 PL/SQL 中并行获取所有行。我想在 csv 中为 ETL 导出 1 亿行
我想在 CSV 文件中导出 1 亿行。我正在使用 SQL DEVELOPER 和 SQL CL,但获取时间很长。我在 SQL CL 中使用以下 SQL 命令。
谁能帮助我如何更快地导出 csv 文件?
java - oracle - sqlcl.exe 登录错误:无法初始化类 sun.management.ManagementFactoryHelper
使用 oracle 的 sqlcl,我能够使用 SPOOL 在我的开发计算机上创建数据转储文件。但是,当我尝试在安装了 java 的 Windows 服务器上运行 sqlcl 时,它给出了这个错误:
C:\path>sql.exe 用户名/密码@connection_string
SQLcl:2021 年 1 月 8 日星期五 13:41:39 发布 20.3 生产
版权所有 (c) 1982, 2021,甲骨文。版权所有。
用户 = 用户名
URL = jdbc:oracle:thin:@connection_string
错误消息 = 无法初始化类 sun.management.ManagementFactoryHelper
它似乎没有被远程数据库服务器拒绝,因为我可以使用 SQL 开发人员访问数据库。似乎也不是登录凭据或连接字符串错误,因为我在我的开发计算机上测试了相同的命令并且它有效。
搜索了一圈,没有看到相关的话题。
SQLcl 版本:发布 20.3 生产
Java 版本:“1.8.0_271”
Java(TM) SE 运行时环境 (build 1.8.0_271-b09)
Java HotSpot(TM) 64 位服务器 VM(内部版本 25.271-b09,混合模式)
############ 编辑:
至于环境变量,它是:
C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1. 0;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\Amazon\cfn-bootstrap;C:\Java\jre1.8.0_271; C:\Java\jre1.8.0_271\bin;C:\Java;C:\oracle\instantclient;C:\oracle