程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET 2.0數據教程之七十四:調試存儲過程

ASP.NET 2.0數據教程之七十四:調試存儲過程

編輯:關於ASP.NET

返回“ASP.NET 2.0數據教程目錄”

導言:

Visual Studio有很多的調試功能.我們只需要稍稍點點鼠標, 敲敲鍵盤就可以使用斷點(breakpoints)來打斷某個程序的執行,並查看其狀態. 除了調試代碼以外,Visual Studio也支持對SQL Server裡面的存儲過程進行調試 .就像可以在ASP.NET頁面的後台代碼類或Business Logic Layer class類裡設置 斷點一樣,我們也可以在存儲過程裡設置斷點.

本文我們將考察如何在 Visual Studio的Server Explorer裡進入存儲過程並設置斷點.當ASP.NET程序調 用該存儲過程時就會碰到該斷點.

注意:

不幸的是只能在Visual Studio的Professional和Team Systems版本裡才能對存儲過程設置斷點.如果你使 用的是Visual Web Developer或Visual Studio的標准版,你就只能看教程是如何 一步步的做的,但不能在自己的機器上實踐.

SQL Server調試主題

Microsoft SQL Server 2005集合了公共語言運行庫(Common Language Runtime (CLR)),它可以被所有.NET模塊使用.因此SQL Server 2005支持對數據庫 對象的管理.

我們可以創建數據庫對象,比如存儲過程、用戶定義的函數 ((UDFs)等,就像在一個C#類裡定義的方法一樣.你可以在從.NET Framework或自 己定義的類裡使用這些存儲過程和自定義函數.當然,SQL Server 2005也支持T- SQL數據庫對象.SQL Server 2005支持對T-SQL數據庫對象以及管理數據庫對象 (managed database objects)的調試.不過只能在Visual Studio 2005專業版或 Team Systems版本裡才行.本文我們將考察對T-SQL數據庫的調試.後面的教程我們 將考察對管理數據庫對象的調試.文章《Overview of T-SQL and CLR Debugging in SQL Server 2005》 (http://blogs.msdn.com/sqlclr/archive/2006/06/29/651644.aspx)歸納了在 Visual Studio裡調試SQL Server 2005對象的3種途徑:

.直接數據庫調試 (DDD)—在服務器資源管理器裡進入某個T-SQL數據庫對象,比如存儲過程或 用戶定義函數UDFs.我們將在第一步考察該模式.

.應用程序調試—我 們可以在一個數據庫對象裡設置斷點,然後再返回到一個ASP.NET應用程序.當執 行這些數據庫對象時,將遇到斷點並轉到調試器.注意,在應用程序調試模式,我 們不能在應用程序代碼裡打入一個數據庫對象,所以我們必須直接在這些存儲過 程或用戶義函數裡設置斷點.我們將在第二步考察該模式.

.通過一個SQL Server Project來調試

Visual Studio專業版及Team Systems版包含一個 SQL Server Project類型,它通常用來創建管理數據庫對象(managed database objects),我們將在後面的教程考察SQL Server Projects及如何調試其內 容.Visual Studio可以對本地或外部SQL Server實例進行調試。如果你使用的SQL Server數據庫不在本地,那麼自然,它就是一個外部實例.本文我們將使用本地 SQL Server實例,調試外部SQL Server實例的存儲過程要比調試本地的多出一些 步驟.

如果你使用的是一個本地SQL Server實例,那麼你可以從第一步看 到結尾.如果你使用的是外部SQL Server實例,那麼你首先要確保是以Windows user帳戶登錄電腦,且包含一個連接到外部SQL Server實例的登錄界面.此外,應 全部以系統管理員角色登錄.你可以參閱本文結尾的“Debugging T-SQL Database Objects on Remote Instances”部分,查看如何配置Visual Studio 和 SQL Server以調試外部實例.

最後,我們應該明白支持T-SQL數 據庫對象調試的特性沒有支持.NET應用程序調試的特性豐富.比如,不支持斷點條 件過濾(breakpoint conditions and filters),只能用到寥寥幾個調試窗口;你 無法使用Edit 和 Continue等等。更多詳情請參閱文章《Limitations on Debugger Commands and Features》(http://msdn2.microsoft.com/en- us/library/ms165035(VS.80).aspx)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved