.NET 数据访问架构指南3

时间:2010-02-01 10:02:16  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:将导致SqlCommand对象的创建。        使用存储过程而非SQL语句的原因是:   存储过程通常会使性能增加,因为数据库可以优化过程使用的数据访问计划,并对其进行缓存以备将来重用。         在数据库中,存储过程可分别得到保护。客户可以被给予执行某个存储过程的权限,但无权处理...
  正文:存储过程与直接SQL的比较
  
    在本文剩余部分的大部分代码片段中,都使用了SqlCommand对象调用存储过程去执行数据库操作。在一些例子中,你见不到SqlCommand对象,因为存储过程名直接传递给了SqlDataAdapter对象,但这仍将导致SqlCommand对象的创建。
  
    使用存储过程而非SQL语句的原因是:
  存储过程通常会使性能增加,因为数据库可以优化过程使用的数据访问计划,并对其进行缓存以备将来重用。
  
  
  在数据库中,存储过程可分别得到保护。客户可以被给予执行某个存储过程的权限,但无权处理底层的表。
  
  
  存储过程将导致维护简单,因为在一个已部署组件内,修改存储过程通常要比修改硬编码的SQL语句简单。
  
  
  存储过程增加了一个从底层的数据库结构中提取出的层。存储过程的客户与存储过程的实现细节及底层结构被隔离开了。
  
  
  存储过程可以降低网络流量,因为SQL语句可以以批处理的方式执行,而不是从客户端发送多个请求。
    属性与构造函数的比较
  
    可以通过构造函数参数或直接设置属性来为ADO.NET对象设置具体的属性值。例如,下面的代码片段在功能上是等同的。
  
  // Use constructor arguments to configure command object
  SqlCommand cmd = new SqlCommand( "SELECT * FROM PRODUCTS", conn );
  // The above line is functionally equivalent to the following
  // three lines which set properties explicitly
  sqlCommand cmd = new SqlCommand();
  cmd.Connection = conn;
  cmd.CommandText = "SELECT * FROM PRODUCTS";
  
  
    从性能角度来说,两种方法的差别可以忽略,因为设置或获得.net对象的属性比对COM对象执行类似操作要有效得多。
  
    所作出的选择只是个人爱好和编码风格而已。然而,明确地设置属性的确使代码易于理解(特别是当你不熟悉ADO.NET对象模型时),便于调试。
  
    注意 过去,vb开发人员被建议避免使用"Dim x As New…"结构创建对象。在COM环境中,这些代码将导致COM对象创建过程的“短路”,产生一些奇妙的和不怎么奇妙的错误。然而,在.NET环境中,这已不再是一个问题。
  
    管理数据库链接
  
    数据库链接是一种危险的、昂贵的、有限的资源,特别是在多层Web应用程序中。你必须正确管理你的链接,因为你的方法将极大的影响应用程序的整体升级性。还有,必须仔细考虑在哪儿存放链接字符串。你需要一个可配置的、安全的位置。
  
    在管理数据库链接和链接字符串时,你应当努力:
  通过跨多个客户多路复用一池数据库链接来帮助实现应用程序的扩展性。
  
  
  采用可配置的、高性能的链接池战略。
  
  
  在访问SQL Server时使用微软Windows操作系统认证。
  
  
  避免中间层的冒充。
  
  
  安全地存储链接字符串。
  
  
  较晚地打开数据库链接,而较早地关闭它们。
    本节讨论链接池,并帮你选择合适的链接池战略。其它可选方法也是存在的。本节也将考虑如何管理、存储、控制数据库链接字符串。最后,本节还提供了两个编码方案,使用它们将有助于确保链接已可靠关闭,并返回到链接池中。
  
    链接池
  
    数据库链接池使应用程序能够重用池中的现有链接,而不是重复地建立对数据库的链接。这种技术将极大地增加应用程序的可扩展性,因为有限的数据库链接可以为很多的客户提供服务。此技术也将提高性能,因为能够避免用于建立新链接的巨大时间。
  
    数据访问技术,如ODBC和OLE DB,提供了多种形式的链接池,它们可配置到不同级别上。这两种方式对数据库客户端应用程序来说都是透明的。OLE DB链接池经常被称为会话或资源池。 ".NET 数据访问架构指南3"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/12691.html


关键字:

关于《.NET 数据访问架构指南3》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td