簡體   English   中英

IE自動化和SQL報告服務C#

[英]IE automation and SQL reporting services c#

我正在做一個工作項目,需要我整天運行SQL Reporting Services報告。 我想使這個過程自動化,並且在這個過程中已經走得很遠了。 我可以導航到頁面,搜索所需內容,選擇文件的輸出,然后單擊導出。 我遇到的問題是無論文件類型或mime設置如何都會彈出“文件下載”對話框。 我現在可以通過使用AutoIt函數來解決它,但它充其量是片狀的。 我真的只想將文件下載到特定位置。 我的問題。是否有辦法攔截單擊“導出”按鈕所做的任何操作並獲得指向文件的某種鏈接? 還是有一種方法可以以編程方式運行鏈接在asp中執行的功能並以這種方式獲取文件? (很抱歉,如果您對術語不熟悉,可能對ASP並不熟悉)。

編輯...我知道可以使用報告服務(例如訂閱等)來實現此目的的更好方法(感謝btw的回復:)...但這就是我所堅持的,直到我可以讓管理員修復一些問題為止東西。 在我所在的公司中,涉及到約20個不同部門的參與,而且很可能不會得到解決。 但是最終我的問題是,是否有可能在C#中執行即時消息。 單擊導出並抓取文件時,可以攔截代碼發送給我的位置嗎? 那有可能嗎?

檢查是否可以直接對Reporting Services服務器使用URL訪問: http : //msdn.microsoft.com/zh-cn/library/ms153586.aspx

如果可以修改Web應用程序,請嘗試將ReportViewer.ExportContentDisposition( http://msdn.microsoft.com/zh-cn/library/microsoft.reporting.webforms.reportviewer.exportcontentdisposition.aspx )的值更改為“ AlwaysInline”。 或者,您可以使用ReportViewer.ServerReport或ReportViewer.LocalReport的Render方法( http://msdn.microsoft.com/zh-cn/library/ms252199.aspx )呈現到響應OutputStream中。

否則,您需要使用IE開發人員工具(IE8中的F12)瀏覽ReportViewer IFRAME中的JavaScript。 它需要對服務器執行附加的回調,以使其以所選格式呈現報告。 調整此腳本執行的操作。

您對SSRS有多少訪問權限? 如果您可以得到幾乎全部的單據,則可以設置SSRS以將報告定期導出到特定位置。 如果SSRS無法到達該位置,則可以將SSRS設置為通過電子郵件發送報告-從那里輕松地將電子郵件轉儲到該位置。 無論哪種方式,都有比“自動單擊確定”屏幕抓取UI自動化更好的角度。


我會研究網絡服務。 如果他們不能正確安排時間,那么他們可能也沒有辦法關閉它們。 設置命令行應用程序以從服務中吸取報告,生活將會很美好。

為什么不僅僅使用報告計划功能來自動化它呢? 您可以輸入報告的訂閱,並且可以按計划發送。 SSRS有兩種開箱即用的交付方式-電子郵件和文件共享。 您甚至可以編寫自己的自定義傳遞擴展。

聽起來好像您需要將報告服務視為完全外部的一樣。 也許WinBatch將幫助您編寫與Windows交互的腳本? http://www.windowware.com/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM