91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET 2.0中怎么調試存儲過程

發布時間:2021-07-27 17:12:44 來源:億速云 閱讀:122 作者:Leah 欄目:開發技術

本篇文章為大家展示了ASP.NET 2.0中怎么調試存儲過程,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

第一步:直接進入儲存過程

  使用Visual Studio我們可以很容易地直接進入一個數據庫對象。我們來看如何使用Direct Database Debugging (DDD)特性進入Northwind數據庫里的Products_SelectByCategoryID存儲過程.就像其名字揭示的那樣,該存儲過程返回特定category的產品信息。我們在第68章創建了該存儲過程,在服務器資源管理器里展開Northwind數據庫節點,接下來進入存儲過程文件夾,在Products_SelectByCategoryID存儲過程上右鍵單擊,選“Step Into Stored Procedure”,這將打開調試器.因為該存儲過程接受一個@CategoryID輸入參數,我們輸入1,這將返回“飲料”類產品的信息。

ASP.NET 2.0中怎么調試存儲過程
圖1:使用值為“1”的@CategoryID輸入參數

  指定@CategoryID參數的值后,就可以執行存儲過程了.不過調試器執行完第一條Statement后就中止了,而不會完全運行存儲過程.。注意邊框上的黃色箭頭,它指出了Statement在存儲過程的當前位置.你可以在Watch窗口查看或編輯參數值,或者改寫存儲過程用到的參數名稱.

ASP.NET 2.0中怎么調試存儲過程
圖2:調試器調試完第一條Statement后就中止了

  希望一次只調試一條statement語句的話,點擊工具欄上的“Step Over”按鈕或按F10鍵。由于Products_SelectByCategoryID存儲過程只包含了一條SELECT statement,所以按F10鍵將跨過這條語句并完成存儲過程的執行。執行完畢后,其結果將顯示在 Output窗口里,調速器也就中止了.

注意:T-SQL調試發生在statement級別,但對SELECT statement無效

第二步:為Website設置應用程序調試

  直接在服務器資源管理器里調試存儲過程時需要手動設置,但很多時候我們感興趣的是,當在ASP.NET應用程序里調用存儲過程時才對其進行調試。當一個設置了斷點的存儲過程被應用程序調用,在執行過程中將遇到這個斷點。我們可以查看和改變存儲過程的參數值,就像我們在第一步做的那樣.

  不過在次此之前我們需要將ASP.NET web應用程序與SQL Server調試器聯系起來.在解決方案資源管理器里,在website名稱(ASPNET_Data_Tutorial_74_CS)上右鍵單擊,選“Property Pages”項,再在左邊選“Start Options”,選中Debuggers區域的SQL Server選擇框,如圖3:

ASP.NET 2.0中怎么調試存儲過程
圖3:在應用程序的屬性頁選擇SQL Server方框

  另外,我們還要更新數據庫連接字符串以禁用“連接池”。當關閉一個數據庫的連接時,一個對應的SqlConnection對象將存放在連接池里。當建立一個數據庫連接時,就可以重新獲取該SqlConnection對象而用不著再創建一個新的連接.連接池提高了執行性能,默認時,其處于激活狀態.不過在調試時我們將關閉連接池,因為處理從連接池檢索來的連接時,不能正確的建立相應的調試基礎構造(debugging infrastructure).

  要禁用連接池的話,更新Web.config文件的NORTHWNDConnectionString,包含一個“Pooling=false”設置.

<connectionStrings>
 <add name="NORTHWNDConnectionString" connectionString=
 "Data Source=./SQLEXPRESS;AttachDbFilename=|DataDirectory|/NORTHWND.MDF;
  Integrated Security=True;User Instance=True;Pooling=false"
 providerName="System.Data.SqlClient" />
</connectionStrings>

  注意:一旦你完成從ASP.NET應用程序對SQL Server的調試后,務必還原連接池,在連接字符串里將Pooling設置刪除或設置為“Pooling=true”.

  完成設置后,我們還需要對存儲過程添加一個斷點,并開始調試

第三步:添加斷點并調試

  打開Products_SelectByCategoryID存儲過程,在SELECT  statement的開頭部分設置斷點。方法點擊邊框恰當的地方或將光標放在SELECT  statement開始的地方再按F9。如圖9所示,斷點在邊框呈現為一個紅色圓點.

ASP.NET 2.0中怎么調試存儲過程
圖4:在Products_SelectByCategoryID存儲過程設置斷點

  為了在客戶端程序對一個 SQL 數據庫對象進行調試,我們有必要設置數據庫支持“應用程序調試”(application debugging),在服務器資源管理器里點到NORTHWND.MDF節點,右鍵單擊,選“Application Debugging”.

ASP.NET 2.0中怎么調試存儲過程
圖5:確保選中Application Debugging 項

  當設置好斷點且激活“Application Debugging ”項時,我們就可以從ASP.NET 應用程序調用存儲過程來進行調試。要調試的話,在“調試”菜單里選“開始調試”,或點 F5或點工具欄里的綠色小圖標。這將開啟調試器.

  Products_SelectByCategoryID存儲過程是在第68章創建的,其對應的頁面(~/AdvancedDAL/ExistingSprocs.aspx)包含了一個GridView控件,以顯示該存儲過程返回的結果.在瀏覽器里登錄該頁面,當執行過程遇到設置的斷點時頁面將返回到Visual Studio,就像在第一步看到的那樣,我們可以進入存儲過程的statements,查看并修改參數值.

ASP.NET 2.0中怎么調試存儲過程
圖6:ExistingSprocs.aspx頁面最開始顯示的是 飲料類的產品

ASP.NET 2.0中怎么調試存儲過程
圖7:執行到存儲過程設置的斷點

  在如圖7所示的 Watch 窗口,參數@CategoryID的值為1,這是由于ExistingSprocs.aspx頁面最開始顯示的是飲料類產品的信息,而飲料類的CategoryID 值為1.在下拉列表里選擇一個不同的值。這將導致頁面回傳并重新執行Products_SelectByCategoryID存儲過程。再次遇到斷點時,@CategoryID 參數的值就是你在下拉列表框里選擇的CategoryID值.

ASP.NET 2.0中怎么調試存儲過程
圖8:在下拉列表里選擇一個不同的類

ASP.NET 2.0中怎么調試存儲過程
圖9:參數@CategoryID反映的是在Web頁面選擇的類

  注意:如果你登錄ExistingSprocs.aspx 頁面時,沒有碰到在Products_SelectByCategoryID存儲過程里設置的斷點,一定要確保ASP.NET應用程序的“屬性頁”的 Debuggers區域的SQL Server項被選中;關閉連接池;激活數據庫的Application Debugging項.如果仍然還有問題的話,重新啟動Visual Studio并再試一次.

調試T-SQL 數據庫對象的遠程實例

  在本地電腦上通過Visual Studio調試是比較直觀容易的,但如果SQL Server和Visual Studio沒有裝在同一臺機器上的話,我們需要做一些設置以使各方面工作正常,為此我們要做2方面的工作:

.確保以系統管理員的角色(sysadmin role)通過ADO.NET連接到數據庫

.確保開發環境上Visual Studio使用的Windows user帳戶是一個有效的屬于系統管理員的角色(sysadmin role)的SQL Server登錄帳戶.

  第一項相對比較簡單.首先確定從ASP.NET應用程序連接到數據庫的用戶帳戶,接下來通過SQL Server Management Studio,將該帳戶添加到sysadmin角色.

  第二項,你用來調試程序的Windows user帳戶必須是連接到遠程數據庫的一個有效帳戶,問題就在于你在本地工作站登錄的Windows帳戶不一定就是登錄SQL Server的有效帳戶.與其將你具體的登錄帳戶添加給SQL Server,一個更好的選擇是將一些Windows user帳戶分配為SQL Server調試帳戶(SQL Server debugging account).然后,要調試一個遠程SQL Server實例的數據庫對象的話,你可以使用這些Windows登錄帳戶的認證(credentials)來運行Visual Studio.

  用一個例子來進行闡述。假設有個Windows帳戶,名為SQLDebug.該帳戶應該添加到遠程SQL Server實例,以系統管理員角色進行合法登錄.然后要從Visual Studio來調試遠程SQL Server實例的話,我們應該以SQLDebug帳戶來運行Visual Studio.于是我們可以這樣來操作:退出我們的工作站,以SQLDebug帳戶再次登錄,然后運行Visual Studio.不過還有一個更簡單點的方法,不用退出工作站,通過使用runas.exe來以SQLDebug的名義運行Visual Studio.這個runas.exe允許一個應用程序假借另一個帳戶的名義來執行.要以SQLDebug的名義來運行Visual Studio的話,你可以在命令行鍵入如下的statement:

runas.exe /user:SQLDebug "%PROGRAMFILES%/Microsoft Visual Studio 8/Common7/IDE/devenv.exe"

上述內容就是ASP.NET 2.0中怎么調試存儲過程,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

琼中| 木兰县| 于田县| 和林格尔县| 六盘水市| 大洼县| 盐津县| 天水市| 安多县| 资阳市| 措勤县| 伊宁县| 金塔县| 南雄市| 金山区| 大同市| 新龙县| 昌图县| 长顺县| 龙井市| 张北县| 湘阴县| 井陉县| 安远县| 鲁甸县| 苗栗县| 肇源县| 鄂州市| 林芝县| 青海省| 新巴尔虎右旗| 威信县| 松潘县| 酒泉市| 江孜县| 隆子县| 嘉峪关市| 大渡口区| 红河县| 平舆县| 四子王旗|