翻譯|使用教程|編輯:李顯亮|2020-04-16 10:46:20.717|閱讀 233 次
概述:在本文中,我們將看到如何使用Spire.PDF在SQL CLR中創建簡單的PDF文檔以及如何在SQL Server中部署它。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
SQL CLR是用于在SQL Server中托管Microsoft .NET公共語言運行時引擎的技術。SQLCLR允許托管代碼由Microsoft SQL Server環境托管并在其中運行。
這種技術是在Microsoft SQL Server 2005中引入的,例如,允許用戶使用.NET語言(例如C#或VB.NET)在SQL Server中創建以下類型的托管代碼對象。
Spire.PDF是一個PDF庫,其中包含令人難以置信的豐富功能,可以在.NET,Silverlight和WPF平臺上創建,讀取,編輯和處理PDF文檔。作為獨立的PDF庫,它不需要用戶安裝Adobe Acrobat或任何其他第三方庫。
在本文中,我們將看到如何使用Spire.PDF在SQL CLR中創建簡單的PDF文檔以及如何在SQL Server中部署它。只需按照以下步驟操作,即可完成。
啟用SQL CLR集成
對于SQL Server,SQL CLR程序集是外部代碼,因此在SQL Server默認安裝配置中,SQL CLR被阻止不使用,要使用它,必須首先將其打開。
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">sp_configure'啟用clr',1</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 走</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 重新配置</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 走</font></font><font></font>
現在,SQL Server準備執行使用C#編程語言構建的數據庫對象。
添加依賴程序集
為了使用非SAFE CLR組件,首先,我們需要打開“可信任”。
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">ALTER DATABASE SpirePDFCLR設置為可信任 </font></font>
現在,我們可以通過以下代碼添加依賴程序集。
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">創建組件[System.Windows.Forms] </font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 從'C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ System.Windows.Forms.dll'</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> WITH PERMISSION_SET =不安全</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 創建組件[System.Web] </font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 從'C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ System.Web.dll'</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> WITH PERMISSION_SET =不安全</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 創建組件[Microsoft.mshtml]</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> FROM'C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Microsoft.mshtml.dll'</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> WITH PERMISSION_SET =不安全</font></font><font></font>
添加這些程序集后,我們可以添加Spire.Pdf.Dll。
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">創建組件[Spire.Pdf] </font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 從'D:\ NET2.0 \ Spire.Pdf.dll'</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> WITH PERMISSION_SET =不安全</font></font><font></font>
然后轉到對象瀏覽器,選擇SpirePDFCLR數據庫,右鍵單擊并選擇“ 刷新 ”。它們將顯示在“程序集”下,如下所示。
在SQL CLR中創建和處理PDF文檔
將Spire.Pdf.dll添加到數據庫后,我們可以在SQL CLR中創建和操作PDF文檔。這里我們以存儲過程為例。
將以下代碼放入存儲過程中。當我們執行存儲過程時,它將創建一個PDF文檔。
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">使用系統;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 使用System.Data;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 使用System.Data.SqlClient;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 使用System.Data.SqlTypes;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 使用Microsoft.SqlServer.Server;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 使用Spire.Pdf;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 使用Spire.Pdf.Graphics;</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 公共局部類UserDefinedFunctions</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> [Microsoft.SqlServer.Server.SqlProcedure]</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 公共靜態無效StoreProcedure()</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> PdfDocument doc =新的PdfDocument();</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> PdfPageBase頁面= doc.Pages.Add();</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> page.Canvas.DrawString(“ Hello world”,new PdfFont(PdfFontFamily.Courier,100),PdfBrushes.Black,0,0);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> doc.SaveToFile(“ d:\\ result.pdf”);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> }</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> };</font></font><font></font>
下一步構建并部署解決方案。如果一切正常,則表示部署成功。然后,我們將在SpirePDFCLR數據庫中看到存儲過程。
現在,我們將從SQL Server運行存儲過程,但是在這里我們將得到如下錯誤。
我們需要將CLR項目的權限級別更改為不安全,然后再次部署它。
現在再次運行它,它將正常工作,我們將獲得PDF文檔。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn