• 使用MultipleActiveResultSets复用Sql Server 2008数据库连接


    MultipleActiveResultSets可以使数据库连接复用。这样就不怕数据库的连接资源被耗尽了。使用方法很简单,只需要把它加到数据的连接字符串中即可。

    例如:server=(local);Integrated Security = true;database=AdventureWorks;MultipleActiveResultSets=true;

    测试用例:

    using System; 
    using System.Threading; 
    using System.Data.SqlClient; 
    using System.Configuration; 
       
    namespace ConsoleApplication1 
        public class Example 
        
            public static void Main() 
            
            SqlConnection sql1 = new SqlConnection("server=(local);Integrated Security = true;database=AdventureWorks;"); 
                sql1.Open(); 
                SqlCommand comm1 = new SqlCommand(); 
                comm1.CommandText = "select 1"
                comm1.CommandType = System.Data.CommandType.Text; 
            comm1.Connection = sql1; 
                comm1.ExecuteNonQuery(); 
                sql1.Close(); 
                Console.ReadLine(); 
            
        

    编译后,打开bin\debug\ConsoleApplication1.exe。

    在SQL Server 2008 Management Studio中打开一个新窗口,输入sp_who

    按F5执行,可以发现已经有一个用户连接到AdventureWorks数据库了。

    再打开一个ConsoleApplication1.exe,发现又会多一个用户连接到AdventureWorks数据库。

    现在把程序的连接字符串改为server=(local);Integrated Security = true;database=AdventureWorks;MultipleActiveResultSets=true;

    按上面的顺序执行,发现不管打开多少个ConsoleApplication1.exe,数据库中没有用户或只有一个用户连接着AdventureWorks数据库。

    这就是数据库连接复用的好处了。

    关于数据库连接字符串的其它用法,参见:

    http://blog.csdn.net/tjvictor/archive/2009/03/19/4004277.aspx

  • 相关阅读:
    《面向对象》读书笔记4
    《面向对象》读书笔记3
    《面向对象》读书笔记2
    《面向对象》读书笔记1
    B树
    树的子结构
    最长公共子序列
    最长公共子串
    堆和堆排序
    位图的原理和简单实现
  • 原文地址:https://www.cnblogs.com/raincedar/p/15874812.html
Copyright © 2020-2023  润新知