成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

實作CLR存儲過程十四步

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

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

1.如圖表1所示,選取MicrosoftVisualStudio2005菜單指令來開啟VisualStudio2005的整合式開發環境。

VisualStudio2005的整合式開發環境 

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

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

類別庫

4.于VisualStudio2005整合式開發環境的「方案總管」中,使用鼠標右鍵按一下預設建立的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方法將單一數據列結果集(也就是SqlDataRecord對象)  
  13. //直接傳送給客戶端。  
  14. SqlContext.Pipe.Send(greetingRecord);  
  15. //將文字符串指派給輸出參數。  
  16. greeting="現在時間是"+DateTime.Now.ToString()+"---章立民研究室向您問好!";  
  17. }  
  18. }  

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

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

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

索引卷標頁面

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

編譯

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

12.好的,我們現在已經完成組件的建置作業,現在必須回到SQLServerManagementStudio中,以便登錄組件并建立指向該組件的存儲過程。

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

  1. USE北風貿易;  
  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(請務必確認組件所在路徑正確)  
  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.請您繼續于SQLServerManagementStudio中執行以下的程序代碼,以便嘗試執行我們所建立的CLR存儲過程(執行結果如圖表6所示):

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


 
執行結果

【編輯推薦】

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

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業務建模

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機器學習

2009-08-24 11:36:27

CLR加載過程

2009-10-22 12:25:21

SQL SERVER調

2020-11-26 10:33:44

MySQL存儲函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区三区四区在线观看 | 涩涩视频网站在线观看 | 欧美伦理一区 | 国产亚洲精品精品国产亚洲综合 | 亚洲人成在线播放 | 久久久91精品国产一区二区三区 | 中文字幕免费视频 | 精品亚洲二区 | 天堂成人国产精品一区 | 不卡在线视频 | 国产欧美二区 | 精品日韩在线观看 | 精品视频一区二区 | 五月免费视频 | 久草综合在线视频 | 亚洲精品女优 | 欧美色综合一区二区三区 | 国产成人精品一区二区三 | 亚洲精品av在线 | 91av导航 | 不用播放器看的av | 国产情侣在线看 | 国产成人精品一区二区三 | 曰韩三级 | 精品精品视频 | 亚洲精品99 | 精品国产乱码久久久久久影片 | 日韩午夜在线播放 | 精品一级| 国产免费一区二区三区最新6 | 一级黄色毛片免费 | 国产精品久久久久久久久久免费看 | a级片在线观看 | 亚洲成人精选 | 久草免费在线视频 | 久久在线 | 91精品久久久久久久久久 | 精品国产一区二区三区av片 | 国产成人精品久久二区二区91 | 欧美综合一区 | 又黑又粗又长的欧美一区 |