如何配置SQL Server .NET数据提供程序链接池 可以使用一组名称-值对以链接字符串的形式配置链接池。例如,可以配置池是否有效(默认是有效的),池的最大、最小容量,用于打开链接的排队请求被阻断的时间。下面的示例字符串配置了池的最大和最小容量。 "Server=(local); Integrated Security=SSPI; Database=Northwind; 
Max Pool Size=75; Min Pool Size=5"

解决方案 »

  1.   

    选择池容量 能建立最大极限对于管理几千用户同时发出请求的大型系统来说是非常重要的。你需要监视链接池及应用程序的性能,以确定系统的最优池容量。最优容量还要依赖于运行SQL Server的硬件。 在开发期间,也许需要减小默认的最大池容量(目前是100)以帮助查找链接泄漏。 如果设立了最小池容量,那么当池最初被填充以达到该值时,会导致一些性能损失,尽管最初链接的几个客户会从中受益。注意,创建新链接的过程被序列化了,这就意味着当池最初被填充时,服务器无法处理同时发生的请求。 关于监视链接池的更多信息,见本文监视链接池一节。关于链接池链接字符串关键字的完整列表,见http://msdn.microsoft.com/library/en-us/cpguide/html/cpconconnectionpoolingforsqlservernetdataprovider.asp。 更多信息 在使用SQL Server .NET数据提供程序链接池时,必须清楚: ·  链接是通过对链接字符串精确匹配的法则被池化的。池化机制对名称-值对间的空格敏感。例如,下面的两个链接字符串将生成单独的池,因为第二个字符串包含了一个额外的空字符。 SqlConnection conn = new SqlConnection(
             "Integrated Security=SSPI;Database=Northwind");
    conn.Open(); // Pool A is created
     
    SqlConmection conn = new SqlConnection(
             "Integrated Security=SSPI ; Database=Northwind");
    conn.Open(); // Pool B is created (extra spaces in string)
    ·  在.NET框架Beta版中,当在调试器中运行时,链接池化总是失效了。在调试器外,对调试版和发行版,链接池都能正常运作。.NET框架的最终发行版(RTM)取消了这种限制,链接池在所有情况下都能运行。 ·  链接池被划分为了多个特定于事务的池和一个用于目前没有列在事务中的多个链接的池。对于与特定事务上下文相关的线程,将从合适的池(包含了在特定事务中的链接)中返回链接。这使得使用已建立的链接成为透明过程。 用OLE DB .NET数据提供程序池化 OLE DB .NET数据提供程序利用OLE DB资源池化的底层服务将链接存储到池中。很多方法可用于配置资源池化: 可以使用链接字符串来配置、使能资源池化或使其使失效。 
    可以使用注册表。 
    可以通过程序来配置资源池化。 
    为了避开与注册表相关的部署问题,应避免使用注册表配置OLE DB资源池化。 用池化对象管理链接池化 作为Windows DNA开发人员,建议你使OLE DB资源池化和/或ODBC链接池化失效,并把COM+对象池化用作将数据库链接存储到池中的技术。这样做主要出于两个原因: 池容量和极限可以(在COM+目录)被明确配置。 
    性能提高了。池化对象的方法可以成倍的胜过内置的池化。 
    然而,由于SQL Server .NET数据提供程序内置地使用池化,所以(在使用此提供程序时)你不再需要开发自己的对象池化机制。这样就可以避免手工事务征募带来的复杂性。 如果正在使用OLE DB .NET数据提供程序,那么考虑COM+对象池化以从高级配置和改进的性能中受益。如果你为此目的开发一个池化对象,那么必须使用OLE DB资源池化和自动事务征募失效(例如,通过将“OLE DB Services=-4”包含进链接字符串中)。必须在池化对象的实现中处理事务征募。 监视链接池化 
      

  2.   

    我的问题是通过VB.NET语言实现获得连接池的连接数,后台数据库是ORAICLE9i.
      

  3.   

    参早:http://expert.csdn.net/Expert/topic/2352/2352399.xml?temp=.6543848