问题标签 [sqlplus]

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.

0 投票
1 回答
1089 浏览

sql - SQLPlus - 跨多个表的计数函数

我正在尝试计算我的数据中的骑手人数。我很难弄清楚这一点。我的输出示例如下所示。数据来自许多不同的表,我必须加入这些表,这不是我遇到的问题。我正在尝试通过 EVENT by DESCRIPTION 获取 RIDERS 的计数。并且仍然显示如下所述的列。

我尝试了一堆不同的代码,但这是我尝试过的一个示例。我对此感到迷茫,所以任何帮助都会很大!

0 投票
5 回答
1819 浏览

oracle - 找不到“缺少右括号”错误的原因

我遇到了一行代码的问题。我正在尝试为我创建的视图创建一个计数函数。我已经做了很多不同的方法,但下面是我最近使用的格式。

我得到的错误是ORA-00907: missing right parenthesis. 错误在(COUNT(RIDERS)代码的一部分。任何想法我应该如何解决这个问题?

0 投票
5 回答
24240 浏览

oracle - 如何使用 pl/sql 循环接受用户输入?

我希望能够根据用户输入将可变数量的行插入到表中?例如。

我不确定如何临时存储行,也不确定如何多次要求用户插入数据。pl/sql 有数组吗?

谢谢

0 投票
2 回答
1547 浏览

oracle - DOS/sqlplus“句柄无效”错误?

我有以下批处理脚本:

当我在 Windows 资源管理器中双击 bat 文件并运行它时,这可以正常工作。

但是当我在 DOS 提示符下输入命令名时,我得到一个错误:

有任何想法吗?


更新:更改为使用@而不是<. 这解决了错误,但现在脚本只执行第一个文件,然后让你在SQL>提示符下。要执行第二个文件,您必须exit在提示符下键入,然后运行第二个文件。不知道如何让两个文件都执行。??

0 投票
3 回答
12092 浏览

sql - 在 sqlplus 中转储函数或过程的主体

使用 sqlplus 连接 oracle 数据库时,如何导出函数或过程的主体?

0 投票
3 回答
12878 浏览

sql - Oracle sqlplus:从脚本位置开始的相对路径

当我有两个 sql 文件时,其中一个在子目录中

sub_test.sql调用@../main_test.sql(或@@../main_test.sql)然后从子目录执行它时工作正常

但是当我打电话

这导致

因为路径是从我的工作目录评估的,而不是我调用的 sql 文件的目录。

有没有办法使用从包含调用的文件目录开始的相对路径?

0 投票
4 回答
5466 浏览

perl - 如何将 Oracle 表导出为制表符分隔值?

我需要将数据库中的表导出到制表符分隔值文件。我在 Perl 和 SQL Plus 上使用 DBI。它是否支持(DBI 或 SQL Plus)从 TSV 文件导出和导入?

我可以编写代码来满足我的需要,但是如果可用,我想使用现成的解决方案。

0 投票
7 回答
16415 浏览

oracle - 通过 ssh 隧道使用 oracle db。错误“ORA-12541:TNS:没有侦听器”

您好,我在通过隧道从我们的数据中心访问 Oracle DB 时遇到问题。

我们有一个非常标准的数据中心,其中一台机器可以从外部访问(我将它的 IP 作为 dc 放在 /etc/hosts 文件中)和内部的 Oracle DB。我们oracle数据库的内网IP地址是192.168.1.7

要创建隧道,我使用以下命令:

当然它可以工作(有时我还会添加一些 debug -vv 以查看是否有任何东西通过)。

现在是困难的部分 - 连接到 Oracle。我安装了即时客户端 11.2。我的 tnsnames.ora 看起来像这样:

当我尝试使用以下命令进行连接时:

它开始通过隧道连接(我在 ssh 调试中看到它),但随后它无法告诉:

当我在 Intranet 上尝试执行相同的命令时,它可以工作(显然唯一的区别是在 tnsnames.ora HOST 中我们有 192.168.1.7 而不是 localhost)。

我还尝试使用简单的命令行:

或者

但没有任何帮助:)

我将不胜感激任何帮助或建议。我是否缺少一些 ssh 标志以使其成为可能?

可能是日志文件:

其中 velvet 是我的本地主机名,johndoe 是我的本地用户名。为什么会发送到对方?

更新:

在从数据中心内部进行了更多调查之后,它看起来像:-第一个连接将转到端口 1521-但随后 sqlplus 被重定向到端口号 > 3300,每次都不同并递增 3(至少几次尝试我有) - 当我们试图通过隧道连接时,sqlplus 将尝试连接到 localhost,它显然会失败

所以错误“No Listener”可能来自我们没有重定向这些端口的事实。有什么方法(可能是 tnsnames.ora 文件中的某个选项)强制使用某些特定端口?

0 投票
2 回答
56300 浏览

oracle - 清除 Oracle 假脱机中的标题

在运行以下命令之前,我已经假脱机了一个文件并得到了这样的输出,

我已经出发了,反馈已关闭

TEST.TXT 中的输出:

我怎样才能删除两个 SQL> 行。我只想要输出。

提前致谢。

0 投票
3 回答
11481 浏览

oracle - CONNECT 应该在 SQL*PLUS 脚本中工作吗?

我想从 cron 作业运行 sqlplus 脚本。

我想我可以这样写:

在脚本中,然后执行它:

但是,当我这样做时,我得到:

我是否误解了 connect 命令的用法?