Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# IE自动化和SQL报告服务c_C#_Asp.net - Fatal编程技术网

C# IE自动化和SQL报告服务c

C# IE自动化和SQL报告服务c,c#,asp.net,C#,Asp.net,我正在为一个工作项目工作,该项目让我整天运行SQL reporting services报表。我想自动化这个过程,并且已经在这个过程中取得了相当大的进展。我可以导航到该页面,搜索所需内容,选择文件的输出并单击导出。我遇到的问题是无论文件类型或mime设置如何,都会弹出文件下载对话框。我现在可以通过使用AutoIt功能绕过它,但它充其量也很脆弱。我真的很想把文件下载到一个特定的位置。我的问题。。有没有一种方法可以截取单击导出按钮所做的任何事情,并获得指向该文件的某种链接?或者有没有一种方法可以运行

我正在为一个工作项目工作,该项目让我整天运行SQL reporting services报表。我想自动化这个过程,并且已经在这个过程中取得了相当大的进展。我可以导航到该页面,搜索所需内容,选择文件的输出并单击导出。我遇到的问题是无论文件类型或mime设置如何,都会弹出文件下载对话框。我现在可以通过使用AutoIt功能绕过它,但它充其量也很脆弱。我真的很想把文件下载到一个特定的位置。我的问题。。有没有一种方法可以截取单击导出按钮所做的任何事情,并获得指向该文件的某种链接?或者有没有一种方法可以运行link在asp编程中所做的功能并以这种方式获取文件?对不起,如果术语不太熟悉ASP


编辑。。。我知道有更好的方法可以通过订阅等报告服务做到这一点。谢谢您的回复,顺便说一句:。。。但这是我一直坚持的,直到我可以让管理员来解决一些事情。在我所在的公司里,这涉及到大约20个不同的部门,而且很可能不会得到解决。但最终我的问题是,是否有可能做到我在C中所要求的。当我点击导出并抓取文件时,我能截取代码发送给我的位置吗?这可能吗

您有多少访问SSR的权限?如果您可以获得相当多的全权委托,您可以设置SSR,以每隔一段时间将报告导出到特定位置。如果SSR无法到达该位置,您可以设置SSR以通过电子邮件发送报告,这样就可以轻松地将电子邮件转储到该位置。无论哪种方式,都有比自动点击确定屏幕抓取UI自动化更好的角度


我会调查网络服务。如果他们不能得到正确的日程安排,他们可能也没有抽出时间来关闭这些。设置一个命令行应用程序,将报表从服务中吸出,这样的生活将是盛大的。

为什么不直接使用报表调度功能将其自动化?您可以输入报表的订阅,并可以按计划交付报表。SSRS有两种开箱即用的交付方法—电子邮件和文件共享。您甚至可以编写自己的自定义交付扩展

听起来您需要将报告服务视为完全外部的。也许WinBatch可以帮助您编写与windows的交互脚本

检查是否可以对Reporting Services服务器直接使用URL访问:

如果可以修改web应用程序,请尝试将ReportViewer.ExportContentDisposition的值更改为AlwaysInline。或者,可以使用ReportViewer.ServerReport或ReportViewer.LocalReport的呈现方法呈现到响应输出流中


否则,您需要使用IE8中的IE开发工具F12查看ReportViewer的IFRAME中的JavaScript。它需要对服务器执行额外的回调,以使其以所选格式呈现报告。调整此脚本执行的操作。

这是我的第一个想法。服务器上的安全性有问题,它会引发模拟错误。在我能让管理员来修复之前,我一直在做这个。你可以用一个数据集来设置报告,该数据集具有报告的特殊凭据-例如,使用SQL Server证书,而不是通过Windows身份验证。同意有更好的方法。但这就是我所坚持的。我不是管理员,一些功能,如日程安排工作不正常。我怀疑它在这十年内任何时候都会被修复。