SQL Server2000存儲(chǔ)過程調(diào)試
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
今天寫了個(gè)存儲(chǔ)過程,在查詢分析器中測(cè)試報(bào)錯(cuò):
![]() 這樣的錯(cuò)誤信息根本看不出錯(cuò)在哪邊,只能用單步執(zhí)行來追蹤了。在查詢分析器對(duì)象瀏覽器中找到要調(diào)試的存儲(chǔ)過程,右鍵點(diǎn)擊選擇調(diào)試: ![]() 輸入各個(gè)參數(shù)的值后開始調(diào)試(鉤選自動(dòng)回滾調(diào)試完畢后將回滾操作): ![]() 按F11單步執(zhí)行: ![]() 終于找到錯(cuò)誤的位置了: ![]() ![]() 修改存儲(chǔ)過程,輸出@strSQL的值,才發(fā)現(xiàn)原來是聲明的時(shí)候設(shè)置@strSQL的長(zhǎng)度為300,而拼接的SQL語句太長(zhǎng)了,長(zhǎng)出的部分被截?cái)嗖艑?dǎo)致出錯(cuò),OK,將@strSQL長(zhǎng)度增加,問題解決! 說明:如果在存儲(chǔ)過程中有SET NOCOUNT ON語句,在調(diào)試過程中應(yīng)注釋掉,在本次調(diào)試過程中發(fā)現(xiàn)有SET NOCOUNT ON調(diào)試器遇錯(cuò)會(huì)繼續(xù)執(zhí)行,也不報(bào)錯(cuò)! 在SQL Server聯(lián)機(jī)叢書中說明:建議不要在生成服務(wù)器上使用 Transact-SQL 調(diào)試程序。在步驟執(zhí)行模式下,調(diào)試程序會(huì)鎖定其它進(jìn)程所需的某些系統(tǒng)資源。 2008-07-31補(bǔ)充: 晚上在家里運(yùn)行調(diào)試器失敗,提示: 引用內(nèi)容 服務(wù)器: 消息 508,級(jí)別 16,狀態(tài) 1,過程 sp_sdidebug,行 1 [Microsoft][ODBC SQL Server Driver][SQL Server]無法連接到 LF-CBIXQUB2CZ5G 上的調(diào)試程序(錯(cuò)誤 = 0x800401f3)。請(qǐng)確保已在 LF-CBIXQUB2CZ5G 上安裝并注冊(cè)了客戶端組件(如 SQLLE.DLL)。已禁用對(duì) 52 的調(diào)試。 百度了下,大都是說將MSSQLSERVER服務(wù)的登錄方式設(shè)置為一個(gè)windows帳戶或是將VS2003/2005安裝目錄中的sqlserver\mssdi98.dll覆蓋掉SQL Server2000安裝目錄中的Binn\mssdi98.dll,我試了均不成功,最終在一篇文章中看到說是SQL Server2000版本的問題,嘗試著將本機(jī)的8.00.194(RTM)升到8.00.2039(SP4),問題得以解決。 Microsoft SQL Server 2000 sp4下載:http://www.crsky.com/soft/5814.html 該文章在 2011/3/14 15:18:00 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |