【问题标题】:R Plot Rendering SQL Server 2016 Using sp_execute_external_scriptR 使用 sp_execute_external_script 绘制 SQL Server 2016 渲染图
【发布时间】:2025-11-24 14:00:02
【问题描述】:

有没有人想出如何使用sp_execute_external_script 在 SQL Management Studio 结果窗口或消息窗口或弹出窗口中返回绘图的地方呈现绘图?我能够将绘图输出到文件系统,但这并不理想。

以下是我如何将绘图输出到文件系统。

EXECUTE  sp_execute_external_script
                @language = N'R'
              , @script = N' trellis.device(device="png", filename="c:/output/HistPlot.png");
              myHist=histogram(~col1, data=InputDataSet);
              print(myHist)'
              , @input_data_1 = N'SELECT  col1, col2 from ds.dbo.[sample]'

【问题讨论】:

  • Management Studio 是一个数据库客户端,并非设计或旨在运行图形。使用存储过程将数据导入 R,然后在最终使用工具 R 中运行绘图。
  • 此外,SQL 是一种用于数据库检索和管理需求的专用语言。它不是运行文件系统和命令行进程的通用语言。
  • 感谢您对冻糕的反馈。我问这个问题是因为 MSDN 上关于 SQL Server R 服务的所有内容都明确谈论使用 SQL Server 运行 R 脚本并返回绘图以嵌入应用程序中。他们甚至提供了一个只显示 SQL Server 和一个应用程序的流程,该应用程序显示来自 SQL Server 的 R 结果。 link

标签: r sql-server-2016


【解决方案1】:

在 Microsoft 提供可视化功能之前,您可以使用 SSMSBoost,这是一个可以解决您的问题的免费实用程序。

安装后,请突出显示带有要读取的二进制图片的单元格。右键单击并选择可视化为,然后选择图片

图像将显示在 Paint 中:

【讨论】:

  • 我终于安装了最新版本,这正是我想要的!谢谢!
【解决方案2】:

我们正在考虑在 SSMS 中为从 R 脚本返回的图形提供可视化功能。但是现在您必须在可以显示它的应用程序(SSRS、Internet Explorer)等中打开图像。 MSDN 的示例展示了如何使用 SSRS 中的图。您可以找到示例here

【讨论】:

【解决方案3】:

您可能希望使用 SSRS 在绘图中显示输出。 SSMS 不是为显示图形而设计的。您可以在 SSRS 中显示存储过程的输出,最近在 CTP3 中添加到 SSRS 意味着您可以生成一些非常漂亮的图表。

【讨论】:

  • 我正在使用带有 R Services 的 SQL Server 2016。我为直方图创建了一个存储过程,但无法查看它。你能帮我理解如何在 SSRS 中调用/显示存储过程的输出吗?指向任何文档/教程也会有所帮助。
  • 有小教程如何可视化 R 绘图保存为二进制到 SSRS 中的表mssqltips.com/sqlservertip/4127/…
最近更新 更多