Visual Studio中SQL SERVER CLR代碼調(diào)試工具使用講解
做開發(fā)的人都知道代碼調(diào)試是最痛苦的一件事情,有時(shí)一個(gè)小小的錯(cuò)誤就會(huì)讓我們花費(fèi)上一天的時(shí)間,在Visual Studio有SQL Server CLR代碼調(diào)試的功能可以讓我們自己省去調(diào)試的時(shí)間,讓我們快來(lái)看看吧。
在Visual Studio中開發(fā)SQL Server CLR代碼的好處在于,可以充分利用調(diào)試方面的工具。我們?cè)陂_發(fā)普通的.net代碼時(shí),對(duì)采用Visual Studio中的調(diào)試器進(jìn)行單步調(diào)試已經(jīng)是輕車熟路;在編寫SQL Server的CLR代碼時(shí),又如何使用Visual Studio進(jìn)行調(diào)試呢?接下來(lái)本文將介紹三種調(diào)試的方法。
為了更好地進(jìn)行SQL Server CLR代碼調(diào)試,您需要使用Visual Studio專業(yè)或團(tuán)隊(duì)版。下表列出了可以使用調(diào)試器的Visual Studio的版本及開發(fā)語(yǔ)言,如圖1所示:
除了正確的Visual Studio版本和可支持的語(yǔ)言之外,還需要確保SQL Server中已經(jīng)啟用了“CLR集成”。可以在SQL Server外圍應(yīng)用配置器中進(jìn)行設(shè)置。需要特別注意的是:CLR調(diào)試時(shí)將導(dǎo)致其他所有線程停止,因此決不能在生產(chǎn)服務(wù)器嘗試調(diào)試CLR。一旦在Visual Studio的“服務(wù)器資源管理器”中的數(shù)據(jù)連接(如圖2所示)設(shè)置了允許調(diào)試,那么在Visual Studio的“查看”菜單項(xiàng)中就多了項(xiàng)“服務(wù)器資源管理器”。圖2:
當(dāng)選擇了“允許SQL/CLR調(diào)試”時(shí),會(huì)看到圖3如下所示的消息提示窗口:
一旦SQL Server中啟用了CLR,并且連接項(xiàng)中啟用了調(diào)試后,就可以開始調(diào)試過(guò)程。SQL SERVER CLR代碼調(diào)試的方法有三種:
1.使用服務(wù)器資源管理器,單步執(zhí)行SQL Server 2005數(shù)據(jù)庫(kù)對(duì)象;
2.使用Visual Studio 2005中的SQL Server項(xiàng)目,運(yùn)行其中的測(cè)試腳本;
3.運(yùn)行一個(gè)應(yīng)用程序來(lái)調(diào)用存儲(chǔ)過(guò)程。
方法1:?jiǎn)尾綀?zhí)行一個(gè)對(duì)象
如果CLR代碼已經(jīng)部署到SQL Server上,我們就可以瀏覽CLR函數(shù)或存儲(chǔ)過(guò)程,右鍵點(diǎn)擊要調(diào)試的對(duì)象,在彈出菜單中選擇“單步執(zhí)行函數(shù)”或“單步執(zhí)行存儲(chǔ)過(guò)程”,如圖4所示:
此操作將執(zhí)行該函數(shù)或存儲(chǔ)過(guò)程,將彈出一個(gè)窗口,我們可以輸入?yún)?shù)的值,如圖5所示:
指定完輸入值,按“OK”按鍵后,就開始了調(diào)試過(guò)程。首先它將停在函數(shù)代碼的起始位置,不論我們是否使用斷點(diǎn),如圖6所示:
這時(shí)可以使用如圖7所示的調(diào)試控制工具欄的功能按鈕,逐行單步執(zhí)行代碼。
498)this.style.width=498;" border=0>
在本地窗口我們可以看到變量值變化的情況,如圖8所示。此外,我們還可以利用其他調(diào)試功能。
【編輯推薦】