介绍在ASP.NET程序中调试SQL Server对象

开发 后端
本文介绍在ASP.NET程序中调试SQL Server对象,数据库中直接调试可以让我们非常简单地在Visual Studio IDE里直接调试存储过程。

在ASP.NET程序中调试SQL Server对象,数据库中直接调试可以让我们非常简单地在Visual Studio IDE里直接调试存储过程。但是,有的时候我们需要在ASP.NET程序调用相关的存储过程的时候再调试。 这样,当某个数据库对象被调用的时候,我们就可以对其进行调试。

这种调试方法整合到了应用程序的调试之中。 要使用它需要做如下几步:
◆给你想要调试的数据库对象添加断点。 数据库对象只有在包含断点的情况下才会被调试。 例如,一般情况下,应用程序在调用存储过程的时候,你是不能进入存储过程内部的, 如果你想调试存储过程,那就必须要在存储过程内部设置断点。
◆配置应用程序,使其可以调试SQL Server对象。 这个比较容易,你只要选中一个复选框即可。
◆禁用连接池。 连接池可以提高性能,它允许程序使用一个连接池中的某个空闲的连接来连接数据库。 如果启用它,就不能正确地调试了。因为默认情况下是启用连接池的,所以我们必须在设置连接字符串的时候禁用它。(当你完成了在ASP.NET程序中调试SQL Server对象的工作之后,一定要记得重新启用连接池)

接下来让我们来看一看这几个步骤具体该如何做。

首先,在Visual Studio中打开“DoThings”存储过程,然后在“DECLARE @AvgPrice money”这句上设置断点。 这样第一步就完成了,接下来做第二步。

配置ASP.NET程序,以使其支持SQL Server的调试。右键单击项目,然后选择属性。 此时将会弹出一个如下图所示的对话框。 选择启动选项,然后在“调试器”部分中选中“SQL Server”复选框。 这样就完成前两步了,还差最后一步。

选中“SQL Server”复选框


最后一步,我们需要修改连接字符串,使其禁用连接池。这个任务相当简单,你只要在你的连接字符串后加一个属性“Pooling=false”即可。假设你将连接字符串信息定义在了Web.config的& lt;connectionString>节点里,那么修改后的连接字符串如下所示:

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

现在,我们已经完成了这3个步骤。 为了演示如何调试,我们来创建一个调用“DoThings”存储过程的ASP.NET页。本文结尾处你下载的Demo中就包含有这个页面。 当你调试ASP.NET程序并且访问了这个页的时候,程序就会暂停在存储过程中设置了断点的地方。然后,你就可以单步执行存储过程,并且可以在监视窗口中查看和修改参数和变量的值,就像在数据库中直接调试存储过程一样。

调试存储过程


在SQL Server之前的版本中有一套用于调试存储过程的独立工具。 到了现在的SQL Server 2005,存储过程、触发器和用户自定义函数(UDFs)都是通过Visual Studio Team System和Professional版本来调试的。 它给我们带来了3种调试SQL Server的方法:数据库中直接调试、应用程序调试和在SQL Server项目中调试。本文中,我们一起研究了前两种调试方法(使用本地数据库)。 以上介绍在ASP.NET程序中调试SQL Server对象。

【编辑推荐】

  1. ASP.NET调用WCF服务
  2. 浅析ASP.NET验证控件
  3. ASP.NET中WCF服务与ASMX服务的兼容性
  4. 详解ASP.NET应用程序
  5. ASP.NET的HttpModule
责任编辑:佚名 来源: IT168
相关推荐

2009-07-20 16:56:16

SQL语句ASP.NET

2009-07-29 15:51:29

ASP.NET中执行w

2009-07-27 16:09:50

2009-07-29 15:07:23

Request对象的属

2010-01-11 09:18:28

2009-07-30 12:35:51

ASP.NET中的对象

2009-07-29 10:02:49

ASP.NET上传

2009-07-23 14:17:41

2009-07-29 17:26:39

ASP.NET页面

2009-07-21 10:40:36

ASP.NET Pro

2009-07-27 17:00:29

ASP.NET主机

2009-09-10 14:02:08

LINQ ASP.NE

2009-07-20 16:12:21

ASP.NET Fra

2009-07-29 09:14:36

ASP.NET网站

2009-07-22 13:16:04

MvcAjaxPaneASP.NET MVC

2009-07-22 16:05:34

ASP.NET AJA

2009-08-19 09:23:40

ASP.NET Rou

2009-07-29 17:23:17

ASP.NET表单

2009-08-07 16:45:09

ASP.NET页面对象

2009-08-05 09:38:28

SQL Server数
点赞
收藏

51CTO技术栈公众号