问题标签 [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 投票
4 回答
1637 浏览

python - 使用 (wx)python 记录外部程序的输出

我正在编写一个用于使用 oracle exp/imp 命令并通过 sqlplus 启动 sql-scripts 的 GUI。subprocess 类使启动命令变得容易,但我需要一些额外的功能。我想在使用我的 wxPython GUI 时摆脱命令提示符,但我仍然需要一种方法来显示 exp/imp 命令的输出。

我已经尝试过这两种方法:

通过其中一种方法(忘了哪一种),我确实得到了 exp/imp 的输出,但只有在命令完成之后,这对我来说毫无价值,因为在这些可能长时间运行的操作期间我需要经常更新。并且 sqlplus 提出了更多问题,因为 sqlplus 在发生错误时主要需要一些输入。当发生这种情况时,python 等待进程完成但用户看不到提示,所以你不知道要等待多长时间或做什么......

我想要的是一个包装器,它输出我在标准命令行上可以看到的所有内容。我想将它记录到一个文件中并在 wxPython 控件中显示它。

我还尝试了此页面中的代码: http: //code.activestate.com/recipes/440554/ 但这也无法读取输出。此答案中的 OutputWrapper 也不起作用:How can I capture all exceptions from a wxPython application?

任何帮助,将不胜感激!

编辑:
子进程似乎没有刷新它们的输出。我已经用 .readline() 试过了。
我的工具必须在 windows 和 unix 上运行,所以如果没有 windows 版本,pexpect 是没有解决方案的。并且使用 cx_oracle 将是极端的矫枉过正,因为我将不得不重建 exp、imp 和 sqlplus 的整个功能。

0 投票
5 回答
3356 浏览

sql - 如何防止 Oracle SQLPlus 中的 SQL 注入?

显然,如果我使用 JDBC/ODBC,我可以使用绑定变量和准备好的语句来防止 SQL 注入。但是,当数据被传递到最终调用 Oracle SQLPlus 的批处理时,有没有办法防止 SQL 注入?例如:

查询.sql:

如果我这样从 SQLPlus 调用这个脚本:

我将得到以下输出:

如您所见,SQLPlus 命令行参数使用简单的宏替换。有没有我想念的替代方法?否则,我如何防止它被利用?

0 投票
6 回答
145307 浏览

oracle - 如何通过 sql plus 从命令行发出单个命令?

使用 SQL Plus,您可以从命令行运行带有“@”运算符的脚本,如下所示:

但是是否可以只运行一个具有类似语法的命令,而不需要一个完整的单独脚本文件?如:

我对此感兴趣,因为我想编写一个简单地执行命令的批处理文件,而不生成一堆两行的“.sql”文件。

0 投票
16 回答
603771 浏览

sql - 如何使用 SQLPLUS 假脱机到 CSV 格式的文件?

我想将一些查询提取为 CSV 输出格式。不幸的是,我不能使用任何花哨的 SQL 客户端或任何语言来做到这一点。我必须使用 SQLPLUS。

我该怎么做?

0 投票
3 回答
16070 浏览

database - Oracle Backup Database with sqlplus 可以吗?

我需要对数据库进行一些结构更改(更改表、添加新列、更改一些行等),但我需要确保如果出现问题,我可以回滚到初始状态:

  • 所有需要的更改都在一个 SQL 脚本文件中。
  • 我没有对数据库的管理访问权限。
  • 我真的需要确保在服务器端完成备份,因为 BD 有超过 30 GB 的数据。
  • 我需要使用 sqlplus(在通过 vpn 的 ssh 专用会话下)
  • 它不可能使用“闪回数据库”!它已关闭,我无法停止数据库。

我真的很深$#$%吗?

任何想法如何使用 sqlplus 备份数据库并将备份留在数据库服务器上?

0 投票
2 回答
7354 浏览

.net - Oracle SQLPLUS 是否有 .Net 接口?

我正在开发一些自动化来控制 SQL 脚本的执行。这些脚本通过SQL*PLUS运行,并在其中包含PL/SQL调用(因此我无法通过ODP.NET运行它们)。

我想知道SQL*PLUS是否有.NET接口?如果有,有人用过吗?

0 投票
10 回答
11240 浏览

sql - SELECT DISTINCT 是否暗示某种结果

在 SELECT 查询中包含 DISTINCT 是否意味着应该对结果集进行排序?

我认为没有,但我正在寻找一个权威的答案(网络链接)。

我有这样的查询:

在 oracle 中,结果是不同的,但不是按排序顺序排列的。在 Jet/MS-Access 中,似乎需要做一些额外的工作来确保对结果进行排序。我假设 oracle 在这种情况下遵循规范,而 MS Access 正在超越。

另外,有没有办法可以给表格一个提示它应该排序foo(除非另有说明)?

0 投票
9 回答
84220 浏览

oracle - sqlplus怎么连不上?

我的目标是从我的 OS X 机器连接到 Oracle 9i 实例。我已按照此处的设置说明进行操作,并且没有错误(最终)通过它们。但是,我发现 sqlplus 无法连接:

呜呜呜等...

我的tnsnames.ora档案...

也许需要设置一个环境变量?


更新

能够ping DB主机没有问题。

试过...

拿到...

尝试在 tnsnames.ora 中使用SID而不是。SERVICE_NAME似乎没有改变结果。恢复为SERVICE_NAME.


sqlnet.log 中的最后几个条目...


部分答案

谢谢大家的回答。他们很有帮助。我发现有一个DNS问题。我能够通过主机名 ping,所以认为应该可以正常工作。我也试过IP地址。原来,我需要内部的“10.1.xx”IP 地址才能在这台 OS X 机器上工作(但主机名在 Windows 上很好)。

在这一点上,我可以连接...

但是,将这些值输入到 tnsnames.ora 中,这仍然不起作用......

...


我搜索了一个与我需要的内容接近的示例 tnsnames.ora 文件,并将内容复制到我的文件中。更改了参数,现在一切正常。不知道为什么我的不工作。

0 投票
3 回答
11273 浏览

sql - 为什么 ORACLE 不允许在命令中使用连续的换行符?

我写:

并将其保存到文件“a.sql”中。

如果我随后在 SQL*Plus 命令提示符中键入“@a”来运行它,它会告诉我以“ssn”开头的行未被识别为命令,并被忽略。

据我所知,如果 sqlplus 连续遇到多个换行符,它似乎会终止命令。这是一个准确的说法吗?如果是这样,有谁知道这是否有必要/为什么选择这样做?

0 投票
4 回答
9135 浏览

oracle - Oracle,从 SQL-Plus 文件 x.sql 中调用 PL/SQL 问题说 my_function “可能不是函数”

如此简单,如果我创建我的函数,因为CREATE OR REPLACE FUNCTION MD5_ENCODE它会顺利运行,但如果它以 PL/SQL 的形式匿名地留在 SQL-Plus 块中——>“可能不是函数”错误。

这个 Oracle 的“特性”又是什么?