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