【问题标题】:What are the options to generate graphs from SQL Database?从 SQL 数据库生成图形的选项有哪些?
【发布时间】:2013-04-18 17:38:09
【问题描述】:

我有一个 SQL Server 2012 数据库,我需要从该数据库构建带有图表的每日自动报告。创建图表的最佳解决方案是什么?

我正在考虑使用 C# 和 Excel 自动化所有内容,但我希望会有更好/更简单的解决方案。

谢谢

【问题讨论】:

    标签: c# sql-server reporting sql-server-2012


    【解决方案1】:

    我会谦虚地推荐我公司编写的 Web 和数据框架(它是免费的、开源的和公共领域的),名为 PowerShell Pipeworks。这使您可以使用如下代码绘制图表:

    Select-Sql -TableName DBTable | Out-Html -AsBarGraph
    

    它还有一个 cmdlet,Start-At,可以正常运行,所以你的脚本类似于

    Start-At -Time "9:00 AM" -Everyday -ScriptBlock { 
        Select-Sql -TableName DBTable -ConnectionStringOrSetting SqlConnectionSecretSetting | Select-Object @{Name='DisplayedProperty';Expression={$_.CalculatedValue} | Out-Html -AsBarGraph |New-WebPage -UseJQueryUI | Set-Content $pathToHtmlFile
    }
    

    【讨论】:

    • 绝对推荐这家公司 - 我使用他们的 showui 免费工具。
    【解决方案2】:

    您可以从命令行使用sqlchart 绘制任何sql 查询图表。例如这会生成一个 730x250 的 .png 文件:

    sqlchart -D stockdb -P 1433 -servertype mssql -host localhost -e "select * from ohlc where sym='AMZN' AND (date > CURDATE()-60)" -o amazon-candlestick-dark.png --chart candlestick --height 250 --width 730 --theme dark 
    

    然后,您可以使用标准脚本语言将其附加到电子邮件中。在 linux 上发送电子邮件的说明是 here

    【讨论】:

      【解决方案3】:

      您可以尝试使用 C# 从 SQL 获取数据,然后使用 Create Excel (.XLS and .XLSX) file from C# 中的库生成图形(我自己之前使用 EPPlus 生成图形)。这两个步骤都非常简单和标准。

      【讨论】:

        【解决方案4】:

        在 SSRS 中安装和设计报告 - 按计划通过电子邮件发送/存储它们。

        Powershell 也是一个选项,如果您需要有关 Powershell 的更多详细信息,请告诉我。

        【讨论】:

        • Powershell 怎么样? SSRS 太复杂了。 :(
        【解决方案5】:

        如果您想要“包含电池”的解决方案,您可以尝试DBxtra,它可以从 SQL Server 和其他数据库创建报告,并使用 Schedule Server 选项自动导出或通过电子邮件发送。

        【讨论】:

          【解决方案6】:

          以下是有关 powershell 解决方案的详细信息:

          1. 您将需要学习一点 powershell(您将永远不会后悔所花费的时间)
          2. 安装 Powershell v3.0
          3. 安装模块 Invokesqlquery(这可以方便地与 sql 通信,可以从 http://powershell4sql.codeplex.com/ 下载)
          4. 查看http://blogs.technet.com/b/richard_macdonald/archive/2009/04/28/3231887.aspx 了解图表

          【讨论】:

            【解决方案7】:

            试试 Grafana。您也可以将其链接到 SQL 数据库。 https://grafana.com/

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2010-09-28
              • 2010-09-22
              • 1970-01-01
              • 2011-12-14
              • 2020-01-27
              • 1970-01-01
              • 2011-05-22
              相关资源
              最近更新 更多