2011-08-11 26 views
0

我想知道有沒有辦法讓我在代碼中生成報告的Excel或PDF版本,並在另一個SQL數據庫中保留該報告?在數據庫中自動保存報告快照

問候

+0

非常感謝您的反饋人。抱歉不提供足夠的細節。我正在使用的數據庫系統是SQL Server 2008,顯然報表平臺是Reporting Services.I將輸出保存爲一個二進制類型或blob,在此之後它不再有問題。 \t 但是,我陷入困境的地方是試圖找出是否可以通過在.NET代碼中啓動此操作並接收輸出(Excel或PDF)來生成針對現有rdl文件的報告實例。作爲回報對象? – Tachi

回答

0

我已經找到了答案。這是非常基本的。

我使用的是報表查看器組件,我生成一個二進制數據流,我將它作爲BLOB或varbinary保存在SQL數據庫的一個字段中(仍然需要驗證一點)這裏是一個舉例來源:

 Dim warnings As Warning() = Nothing 
     Dim streamids As String() = Nothing 
     Dim mimeType As String = Nothing 
     Dim encoding As String = Nothing 
     Dim extension As String = Nothing 
     Dim bytes As Byte() 

     'This reads the report as a binary stream of data, could be Excel, PDF, etc 
     bytes = ExportReportViewer.ServerReport.Render("Excel", _ 
      Nothing, mimeType, _ 
      encoding, extension, streamids, warnings) 
1

也許我過於簡單化,但你可以將文件存儲爲BLOB或文件系統中的一個鏈接到一個物理文件。所以基本上:

1)獲取你想要的數據 2)處理它 3)保存在另一個數據庫作爲Blob /鏈接。

如果您提供更多詳細信息(哪個DBMS?任何框架?什麼語言?)我認爲這裏的人們會提供更多相關的答案。

+0

我注意到Tachi已經將其標記爲ssrs-2008,這可能意味着SQLServer 2008是DBMS。 –

+0

非常感謝你們的反饋。因爲沒有提供足夠的細節而抱歉。我正在使用的數據庫系統是SQL Server 2008,顯然報表平臺是Reporting Services。 關於Kenji的評論,在我腦海中的高層次上。我會將輸出保存爲一個二進制類型或blob,然後在那之後它就不再起作用了。 – Tachi

+0

但是,我陷入困境的原因是試圖通過在.NET代碼中啓動此操作並接收將輸出(Excel或PDF)作爲輸出的情況來針對現有的rdl文件生成報告的實例返回對象? – Tachi