2015-06-08 42 views
0

美好的一天, 我目前有一個控制檯應用程序內的水晶報告。我使用下面的代碼片段來獲取PDF格式的水晶報告的字節數組,以便將其存儲在數據庫中的表格中。.net晶體報告導出到SQL服務器內的流

Stream stream = cryRpt.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); 
byte[] contents = new byte[stream.Length]; 
stream.Read(contents, 0, (int)stream.Length); 
stream.Close(); 

該字節數組被傳遞給存儲過程,然後插入sql server 2012數據庫表中的varbinary列。

這可能聽起來很奇怪,但有人可以告訴我,如果這可以單獨在沒有控制檯應用程序或Web應用程序的SQL Server上完成?

回答

0

你應該可以使用CLR函數來完成它。

您將基本上創建一個C#類庫,將您的PDF轉換函數直接暴露給SQL Server。它將全部在SQL Server中運行而不需要外部應用程序。

+0

你有任何教程或這個例子,你可以指向我? – CoDeGiRl

+0

在CLR集成基礎上有相當可觀的數量。 Split是使用CLR的一個非常經典的例子,如下所示:http://www.skylinetechnologies.com/Blog/Article/246/CLR-Functions-in-SQL-Server-A-Tutorial.aspx。 –

+0

我想在沒有c#控制檯應用程序或Web應用程序的情況下在sql server上完全運行水晶報表(生成帶條形碼字體等的發票),您是說CLR可以實現這一點? – CoDeGiRl