SQL Server2000存储过程调试
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
今天写了个存储过程,在查询分析器中测试报错:
这样的错误信息根本看不出错在哪边,只能用单步执行来追踪了。在查询分析器对象浏览器中找到要调试的存储过程,右键点击选择调试: 输入各个参数的值后开始调试(钩选自动回滚调试完毕后将回滚操作): 按F11单步执行: 终于找到错误的位置了: 修改存储过程,输出@strSQL的值,才发现原来是声明的时候设置@strSQL的长度为300,而拼接的SQL语句太长了,长出的部分被截断才导致出错,OK,将@strSQL长度增加,问题解决! 说明:如果在存储过程中有SET NOCOUNT ON语句,在调试过程中应注释掉,在本次调试过程中发现有SET NOCOUNT ON调试器遇错会继续执行,也不报错! 在SQL Server联机丛书中说明:建议不要在生成服务器上使用 Transact-SQL 调试程序。在步骤执行模式下,调试程序会锁定其它进程所需的某些系统资源。 2008-07-31补充: 晚上在家里运行调试器失败,提示: 引用内容 服务器: 消息 508,级别 16,状态 1,过程 sp_sdidebug,行 1 [Microsoft][ODBC SQL Server Driver][SQL Server]无法连接到 LF-CBIXQUB2CZ5G 上的调试程序(错误 = 0x800401f3)。请确保已在 LF-CBIXQUB2CZ5G 上安装并注册了客户端组件(如 SQLLE.DLL)。已禁用对 52 的调试。 百度了下,大都是说将MSSQLSERVER服务的登录方式设置为一个windows帐户或是将VS2003/2005安装目录中的sqlserver\mssdi98.dll覆盖掉SQL Server2000安装目录中的Binn\mssdi98.dll,我试了均不成功,最终在一篇文章中看到说是SQL Server2000版本的问题,尝试着将本机的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 编辑过 |
关键字查询
相关文章
正在查询... |