【问题标题】:Is there a good alternative to SQL*PLUS for Oracle?SQL*PLUS for Oracle 有什么好的替代品吗?
【发布时间】:2010-09-22 02:44:32
【问题描述】:

我不喜欢使用 SQL*PLUS 作为 Oracle 的接口。我通常使用yasql,但它自 2005 年以来一直没有更新,并且可以进行一些改进。快速 Google search 显示 yasql 和 SQLPal。我使用的是 linux,所以 SQLPal 不是一个选项。

是否有任何替代方案,或者我是否坚持使用我不喜欢的界面或不再维护的界面?

【问题讨论】:

  • sqlplus 是 CLI,看我的评论bellow
  • 请查看dbForge Studio for Oracle,这是一个用于Oracle 管理、管理和开发的强大GUI 工具,它可以在Windows 下完美运行,并提供30 天免费试用版和免费Express 版。

标签: sql database oracle sqlplus


【解决方案1】:

我假设您想要一种低开销的查询方法,但想要比 SQL*Plus 提供的更多功能?为什么不使用 Oracle 的SQL Developer?它是免费的。

安装,与您的数据库建立新连接,然后开始输入脚本。按 F5 运行它(或只运行您突出显示的部分脚本)。

【讨论】:

  • 我在这方面有点晚了,但正如在答案的 cmets 中提到的,第二多的赞成票(Dan Vinton)有 rlwrap。 rlwrap 使用 Ctrl-R (reverse-i-search) 提供任何应用程序命令行历史记录。然后还有 SQLcl oracle.com/database/technologies/appdev/sqlcl.html 。使用 SQLcl,您不需要安装 SQL-net/SQL-home.... 观看视频。它具有自动完成功能、就地编辑缓冲区和智能格式。
【解决方案2】:

看看gqlplus。它在 linux 上包装了 sql*plus,并通过添加命令历史记录、表名完成等内容使其更加用户友好。

【讨论】:

  • 这确实是一个非常好用的工具。现在 sqlplus 只需要在默认情况下像 mysql 一样聪明地处理列大小......
  • 我更喜欢在 SQL*Plus 周围使用rlwrap 来获得命令历史记录和体面的编辑。
【解决方案3】:

Emacs 可以提供比默认 SQL*Plus 命令行界面更强大的文本编辑特性和功能。

这里有一些关于如何使用 Emacs 作为 SQL*Plus 包装器的链接:

【讨论】:

    【解决方案4】:

    TOAD 相当昂贵,但您可以从 Quest 网站下载 90 天试用版,看看它是否具有您想要的功能集(不要被“免费软件”标题所迷惑 - 它只有 90 天免费,然后过期,这绝对是共享软件):

    http://www.toadworld.com/Freeware/ToadforOracleFreeware/tabid/558/Default.aspx

    另一个选项是我在 CodeProject 上看到的一个工具:

    http://www.codeproject.com/KB/database/OQuery.aspx

    它在 .NET 中,所以你必须看看它是否在 Mono 上编译,但它可能值得一试。我没有使用过任何一种工具(Toad 或这个),因为我是一名 SQL Server 人员,但我听说过关于 Toad 的好消息。

    【讨论】:

    • TOAD+1,比 Oracle 的 SQL Developer 更好,但没有免费版本。您链接到的是一个 60 天的试用版。 quest.com/toad-for-oracle 是实际的产品页面。
    • 嗯 - 你是对的,这根本不是免费软件,尽管他们在 Quest 网站上这样称呼它大约十多次。我已经更新了帖子。
    • TOAD 以前是免费软件,后来 Quest 从作者那里购买并产品化了。
    【解决方案5】:

    如果你想要的是命令行,我建议rlwrap 与 sqlplus 一起使用;它为您提供行编辑功能和命令历史记录,使 sqlplus 成为一个有点可用的工具。

    【讨论】:

    • rlwrap(您的链接似乎已损坏)建议socat。我建议socat READLINE,history=$HOME/.sqlplus_history EXEC:'sqlplus64\ USER\/PASS@HOST\:PORT\/SID',pty,setsid,ctty
    【解决方案6】:

    你可以试试allroundautomations的PL/SQL developer,有试用版,价格比TOAD低很多。

    问候 克

    【讨论】:

      【解决方案7】:

      看看Senora。该工具是用 Perl 编写的,因此是跨平台的。此外,Senora 是免费的、可扩展的,旨在成为您的主要 Oracle shell。您可以通过提供自己的插件轻松扩展 Senora。 Senora 尝试提供比 sqlplus 更友好的输出格式。列往往只有真正需要的宽度。

      另一个有趣的选择是SQLcl。它提供内联编辑、语句完成、命令调用、DBA 内容(例如启动、关闭),还支持您以前编写的 SQL*Plus 脚本。

      【讨论】:

        【解决方案8】:

        这取决于你在寻找什么。 如果它是一个 GUI 查询工具,那么 Oracle 有他们的免费 SQL Developer 产品(尽管它占用了大量资源)。还有一些免费的跨数据库的。我自己喜欢 SQUirrel SQL 客户端。还有 DBVisualiser 和其他一些。 JEdi​​t 是一个具有 DBConsole 插件的编辑器,用于运行数据库查询和 DML/DDL。 它们都是基于 java 的,所以在大多数地方都可以运行。

        如果您喜欢命令行,请查看 sqlpython(开发人员已经确定了其他几个 too

        【讨论】:

          【解决方案9】:

          我喜欢SQL Developer。它是免费的,具有直观的 UI,可在 Windows、Mac 和 Linux 上运行。还支持很多sql*plus命令,支持版本控制

          【讨论】:

            【解决方案10】:

            TOAD 的开源版本是 TORA: tora.sourceforge.net

            【讨论】:

              【解决方案11】:

              如果你是 VIM 类型的人,那么我会考虑 Vorax。它基本上是一个围绕 SQL*plus 的 VIM 包装器。

              【讨论】:

              【解决方案12】:

              使用过 Toad 和 SQL Navigator,我喜欢 SQL Navigator 的稳定性。

              【讨论】:

                【解决方案13】:

                我喜欢 sqlsh

                alias sqr='sqlsh -d DBI:Oracle:MYSERVER.COM -u USER -p PASSWORD'
                

                【讨论】:

                  【解决方案14】:

                  如果您可以购买许可证,则可以从任务软件中获得蟾蜍

                  sql 松鼠如果你不能。

                  【讨论】:

                    【解决方案15】:

                    我将自己的工具ocimlshrlwrap 结合使用。

                    【讨论】:

                      【解决方案16】:

                      我只是使用socat 将readline 支持添加到sqlplus。历史记录和有效的退格键实际上将 sqlplus 变成了一个相当不错的工具。

                      在我的.bashrc中:

                      function sqlplus {
                              socat READLINE,history=$HOME/.sqlplus_history EXEC:"$ORACLE_HOME/bin/sqlplus $(echo $@ | sed 's/\([\:]\)/\\\1/g')",pty,setsid,ctty
                              status=$?
                      }
                      

                      您可能会看到 别名 sqlplus 到 socat 的替代方法,但您很快会发现这样做会阻止您使用各种命令行选项调用 sqlplus。

                      CAVEAT:确保将 $HOME/.sqlplus_history 权限设置为 0600。您输入的密码最终会出现在历史文件中。您也可以考虑将cat /dev/null > $HOME/.sqlplus_history 添加到您的.bash_logout

                      【讨论】:

                        【解决方案17】:

                        显然,Oracle 本身已经淘汰了 sql*plus 并用 SQLcl 取而代之,后者支持更现代的功能,例如历史记录、格式化等:https://www.oracle.com/database/technologies/appdev/sqlcl.html

                        【讨论】:

                          猜你喜欢
                          • 2023-03-08
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2013-06-30
                          • 2011-02-03
                          • 1970-01-01
                          相关资源
                          最近更新 更多