如何在 DataGrip 中设置服务器输出

Posted

技术标签:

【中文标题】如何在 DataGrip 中设置服务器输出【英文标题】:How To Set Server Output On in DataGrip 【发布时间】:2017-01-05 17:18:11 【问题描述】:

如何在 Jetbrains DataGrip IDE 中“设置服务器输出”?我能够在 SQL Developer 中执行此操作并成功运行 SQL 脚本。我尝试在 DataGrip 中运行相同的脚本,但它给出了错误。我知道它的“set server output on”不起作用,因为我必须配置 SQL Developer 才能使其工作。任何意见,将不胜感激。谢谢。

【问题讨论】:

我不确定datagrip,但不是set serveroutput on没有空格吗? 【参考方案1】:

According to the documentation:

对于 Oracle,您可以启用或禁用在输出窗格中显示 DBMS_OUTPUT 缓冲区的内容。为此,请使用数据库控制台工具窗口工具栏上的 (Ctrl+F8)。

它们还显示启用按钮的窗口图像;

更新:2019

启用输出的图标如下所示:

在 MacOS 上可以使用 Command+F8 启用。

【讨论】:

您的顶部屏幕截图来自 2016 版,而我有 2018.3 版(2018 年 11 月 27 日构建),我看不到此选项。在文件窗口中,我没有启用输出的选项,在“数据库控制台”中我没有此选项。我有一个正式版本,在我工作的公司注册。【参考方案2】:

服务器输出是并非所有客户端都支持的客户端功能。 SQL*Plus 和 SQL Developer 可以,但不是任何其他客户端都可以。

SQL*Plus 客户端命令set serveroutput on 实质上代表您调用DBMS_OUTPUT.enable() 存储过程。此外,它会向客户端发出信号,即应该在每个代码块执行后检查 DBMS_OUTPUT.get_lines() 过程以获取缓存输出。

如果 DataGrip 还没有这样做,您可以根据需要手动编码对 DBMS_OUTPUT.enable()DBMS_OUTPUT.get_lines() 的调用。

【讨论】:

我不得不调用 DBMS_OUTPUT.enable(); (至少一次)在 BEGIN 和 END 之间明确

以上是关于如何在 DataGrip 中设置服务器输出的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Intellij / DataGrip Mongo DB Shell 中设置显示 20 多个结果

无法在 JetBrains DataGrip 2020.1.4 中设置 SQLServer 连接

如何将 datagrip 设置为与主机数据库相同的时区

如何使用 HTTPBuilder 在 Groovy 中设置 GET-Response

如何使用 webpack 在项目中设置多个文件输入和输出?

在 oracle 过程中设置 serveroutput on