3

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

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

谢谢

4

7 回答 7

3

我会谦虚地推荐我公司编写的一个名为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
}
于 2013-04-18T22:14:01.930 回答
1

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

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 

sql 股票图表

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

于 2016-03-26T22:31:56.287 回答
0

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

于 2013-04-18T17:48:29.097 回答
0

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

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

于 2013-04-18T17:54:39.273 回答
0

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

于 2013-04-19T15:23:13.327 回答
0

以下是有关 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的图表
于 2013-04-19T19:52:27.150 回答
0

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

于 2019-04-25T09:01:07.090 回答