偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

實作CLR存儲過程十四步

開發(fā) 后端
文章主要介紹了CLR存儲過程,下面是一個實際建立一個CLR存儲過程(采用VisualC#),并示范如何使用它,希望給你帶來幫助。

存儲過程是SQLServer2005程序設(shè)計中最重要的一環(huán),您會發(fā)現(xiàn),應(yīng)用系統(tǒng)中的許多作業(yè)都會交由存儲過程來完成。在以下的操作步驟中,我們帶大家利用VisualStudio2005整合式開發(fā)環(huán)境,實際建立一個CLR存儲過程(采用VisualC#),并示范如何使用它:

1.如圖表1所示,選取MicrosoftVisualStudio2005菜單指令來開啟VisualStudio2005的整合式開發(fā)環(huán)境。

VisualStudio2005的整合式開發(fā)環(huán)境 

2.從「項目」菜單中選取「新增/項目」指令。

3.如圖表2所示,選取「類別庫」模板,然后依序指定項目名稱(SayHello)、存放位置、以及方案名稱(SayHello)之后,按一下「確定」按鈕。

類別庫

4.于VisualStudio2005整合式開發(fā)環(huán)境的「方案總管」中,使用鼠標(biāo)右鍵按一下預(yù)設(shè)建立的Class1.cs并從快捷菜單中選取「刪除」指令以便將它刪除。

5.從「項目」菜單中選取「加入新項目」指令。

6.如圖表3所示,于「加入新項目」對話框中,選取「類別」模板,然后以SayHelloClass.cs作為類別檔的文件名稱,然后按一下「加入」按鈕。

對話框頁面

7.于程序代碼編輯器中,將SayHelloClass類別的程序代碼改寫如下:

  1. usingMicrosoft.SqlServer.Server;  
  2. namespaceSayHello  
  3. {  
  4. publicclassSayHelloClass  
  5. {  
  6. [Microsoft.SqlServer.Server.SqlProcedure()]  
  7. publicstaticvoidSayHello(refstringgreeting)  
  8. {  
  9. SqlMetaDatacolumnInfo=newSqlMetaData("問候",SqlDbType.NVarChar,12);  
  10. SqlDataRecordgreetingRecord=newSqlDataRecord(newSqlMetaData[]{columnInfo});  
  11. greetingRecord.SetString(0,"大家好,我是章立民!");  
  12. //呼叫Pipe對象的Send方法將單一數(shù)據(jù)列結(jié)果集(也就是SqlDataRecord對象)  
  13. //直接傳送給客戶端。  
  14. SqlContext.Pipe.Send(greetingRecord);  
  15. //將文字符串指派給輸出參數(shù)。  
  16. greeting="現(xiàn)在時間是"+DateTime.Now.ToString()+"---章立民研究室向您問好!";  
  17. }  
  18. }  

上述程序代碼中的SayHello程序是一個公用靜態(tài)方法,而它也就是CLR存儲過程所實際呼叫的對象。

8.按一下工具列中的「儲存」按鈕。

9.如圖表4所示,使用鼠標(biāo)連按兩下「方案總管」中的Properties節(jié)點,一開始會顯示出「應(yīng)用程序」索引卷標(biāo)頁面,您可以去設(shè)定組件名稱與跟命名空間。不過以本實作演練而言,請采用默認(rèn)值,不要更改。

索引卷標(biāo)頁面

10.按一下左側(cè)的「編譯」索引卷標(biāo)來切換至其頁面,并且將「建置輸出路徑」設(shè)定成bin然后按一下工具列中的「儲存」按鈕。

編譯

11.從「建置」菜單中選取「建置SayHello」指令。

12.好的,我們現(xiàn)在已經(jīng)完成組件的建置作業(yè),現(xiàn)在必須回到SQLServerManagementStudio中,以便登錄組件并建立指向該組件的存儲過程。

13.請您于SQLServerManagementStudio中執(zhí)行以下的程序代碼,以便使用CREATEASSEMBLY陳述式來登錄組件SayHello.dll,然后使用CREATEPROCEDURE陳述式建立一個會參考所登錄之組件SayHello.dll的存儲過程:

  1. USE北風(fēng)貿(mào)易;  
  2. GO  
  3. IFEXISTS(SELECT*FROMsys.proceduresWHERE[name]='SayHello')  
  4. DROPPROCEDURESayHello;  
  5. GO  
  6. IFEXISTS(SELECT*FROMsys.assembliesWHERE[name]='SayHello')  
  7. DROPASSEMBLYSayHello;  
  8. GO  
  9. --登錄組件SayHello.dll(請務(wù)必確認(rèn)組件所在路徑正確)  
  10. CREATEASSEMBLYSayHello  
  11. FROM'C:\SQL2005Demo\CH13\SayHello\SayHello\bin\SayHello.dll'  
  12. WITHpermission_set=Safe;|  
  13. GO﹂──>組件的位置路徑  
  14. --建立一個會參考所登錄之組件SayHello.dll的存儲過程  
  15. CREATEPROCEDUREdbo.SayHello  
  16. (  
  17. @Greetingnvarchar(80)OUTPUT  
  18. )  
  19. ASEXTERNALNAMESayHello.[SayHello.SayHelloClass].SayHello;  
  20. GO↓  
  21. [命名空間.類別名稱] 

14.請您繼續(xù)于SQLServerManagementStudio中執(zhí)行以下的程序代碼,以便嘗試執(zhí)行我們所建立的CLR存儲過程(執(zhí)行結(jié)果如圖表6所示):

  1. USE北風(fēng)貿(mào)易;  
  2. GO  
  3. EXECsp_configure'clrenabled','1';  
  4. GO  
  5. RECONFIGURE;  
  6. GO  
  7. DECLARE@return_valueint,@Greetingnvarchar(80);  
  8. --執(zhí)行CLR存儲過程并取得傳回值與輸出變量的值  
  9. EXECUTE@return_value=dbo.SayHello  
  10. @Greeting=@GreetingOUTPUT;  
  11. --檢視傳回值與輸出變數(shù)的值  
  12. SELECT@return_valueAS傳回值,  
  13. @GreetingAS"輸出參數(shù)@Greeting之值";  


 
執(zhí)行結(jié)果

【編輯推薦】

  1. 圖文講解.NET CLR是什么
  2. 使用CLR存儲過程來傳回訊息實戰(zhàn)案例
  3. 經(jīng)典案例之創(chuàng)建CLR存儲過程
  4. 概括Visual Studio CLR調(diào)試器兩種方法
  5. Visual Studio中SQL SERVER CLR代碼調(diào)試工具使用講解
責(zé)任編輯:田樹 來源: 博客
相關(guān)推薦

2009-09-18 10:40:05

CLR存儲過程

2009-10-22 13:02:47

SQL CLR存儲過程

2009-09-18 14:09:57

SQL CLR存儲過程

2009-10-22 14:05:55

CLR存儲過程

2009-09-18 10:55:17

CLR存儲過程

2009-10-22 15:09:40

CLR存儲過程

2009-09-17 19:19:17

CLR存儲過程

2010-04-16 11:11:46

Oracle存儲過程

2010-04-15 17:45:26

Oracle存儲過程

2010-04-16 12:58:48

Oracle sql

2010-04-16 11:22:08

Oracle存儲過程

2010-06-30 11:21:42

UML業(yè)務(wù)建模

2010-04-30 09:34:24

Oracle多條件查詢

2010-05-05 14:55:15

Oracle存儲過程

2009-09-03 14:26:17

Jit編譯

2011-12-28 15:41:49

WCF

2017-03-14 14:04:24

Python機器學(xué)習(xí)

2009-08-24 11:36:27

CLR加載過程

2009-10-22 12:25:21

SQL SERVER調(diào)

2020-11-26 10:33:44

MySQL存儲函數(shù)
點贊
收藏

51CTO技術(shù)棧公眾號