将 Dbeaver 上的结果集导出到 CSV

Posted

技术标签:

【中文标题】将 Dbeaver 上的结果集导出到 CSV【英文标题】:Export result set on Dbeaver to CSV 【发布时间】:2017-09-05 21:18:57 【问题描述】:

通常我使用 Dbeaver for windows 并总是像这样导出我的结果集:

运行我的查询 --> 选择结果 --> 导出结果集 --> 选择导出到剪贴板 --> 完成

此步骤将我的结果集放入剪贴板中,我可以将其粘贴到任何我想使用它的地方。

问题是我现在使用 dbeaver for mac 并且本指南不起作用。 我可以继续,直到我选择我的结果集,如下图所示:

但一旦我在这个过程中走得更远,在最后一步我得到:no query

请注意,在“源”中,它应该显示源自结果集的查询,但它只显示“选择”。

因此它没有选择我的结果或任何东西(除了“成功”)。

通常我的查询会自动显示在那里,我在菜单中找不到任何解决此问题的选项。

【问题讨论】:

经过一些测试,我意识到它只是在查询的第一行。因为它只包含所有 dbeaver 正在导出的“选择”。现在我必须明白为什么会发生这种情况 【参考方案1】:

在 21.0 版/发布日期 2021 年 3 月 1 日

    右键单击要导出的查询的 SQL 导出数据 从查询中选择您想要的格式(CSV 根据您的 问题) 单击时查看下一个窗格中的设置 “下一个”。 设置要创建文件的文件夹,然后“完成”

【讨论】:

在 21.1 版本中 - 右键单击​​带有查询结果的网格 同样在 21.0 中:右键单击查询 --> 执行 --> 从查询导出【参考方案2】:

你不需要使用剪贴板,你可以直接将整个结果集(不仅仅是你看到的)导出到一个文件中:

    执行查询 右键单击结果中的任意位置 点击“导出结果集...”打开导出向导 选择您想要的格式(根据您的问题选择 CSV) 单击“下一步”时查看下一个窗格中的设置。 设置要创建文件的文件夹,然后“完成”

导出在后台运行,完成后会出现一个弹出窗口。


在较新版本的 DBeaver 中,您可以:

    右键单击要导出的查询的 SQL 执行 > 从查询中导出 选择您想要的格式(根据您的问题选择 CSV) 单击“下一步”时查看下一个窗格中的设置。 设置要创建文件的文件夹,然后“完成”

导出在后台运行,完成后会出现一个弹出窗口。

与之前的导出方式相比,这为您节省了第 1 步(执行查询),这对于时间/资源密集型查询非常方便。

【讨论】:

后续选项的措辞很奇怪,但不理会它们似乎做了我想要的:将 csv 复制到文件夹。如果有人有关于选项的文档,那么在此处发布将是一件友好的事情。 (此链接已过期:github.com/dbeaver/dbeaver/wiki/Data-transfer)【参考方案3】:

问题是选中了“打开新连接”框。所以我不能使用我的临时表。

【讨论】:

【参考方案4】:

您是否有无法选择结果并右键单击并选择高级复制 -> 高级复制的原因?我在 Mac 上,这就是我总是将结果复制到剪贴板进行粘贴的方式。

【讨论】:

如果结果集太大导致结果视图无法显示所有记录怎么办? 您是否遇到内存不足异常?如果您有这么大的结果集,将其复制到剪贴板不是一个好主意,我建议将其导出为 CSV。当您导出结果集时,DBeaver 会导出为填充结果集查看器而执行的查询的整个结果,而不仅仅是显示的内容。 只有大约 40,000 条记录,每条记录 5 列。 RAM 足以容纳数据。但是,DBeaver 默认只显示 200 条记录。如果我想要所有数据,我必须一遍又一遍地向下滚动,这很烦人。 我不认为这是一个优雅的解决方案。 @HarperKoo 为导出目的重新运行整个查询(在已经运行查询以显示结果之后)也不是很优雅。

以上是关于将 Dbeaver 上的结果集导出到 CSV的主要内容,如果未能解决你的问题,请参考以下文章

如何限制 DBeaver 数据编辑器以限制结果集大小?

DBeaver改进查询结果集UI和ERD视图

将数据集<行> 导出为 CSV

将结果集导出到 linq 到 sql 的 excel

使用对话框将结果集导出到 java 中的文本文件

无法将 Google BigQuery 导出到本地计算机中的 CSV 文件