none
数据库连接池指的是哪个方面?是不是一个应用程序对应一个数据库连接池 RRS feed

  • 问题

  • 我知道ado.net 处理数据库连接时有2中方式:连接池和非连接池,默认使用连接池管理连接,而且据说一个连接池默认最多有100个连接。我的问题是,在iis中,有多个站点,每个站点下有多个虚拟目录,也就可能有多个应用程序,而且很有可能同个应用程序会连接不同的数据库,那么这个数据库连接池是针对应用程序,还是站点,还是整个服务器?
    2009年2月20日 15:18

答案

  • 你好!
         这个是对应你的应用程序的
    ,在初次打开连接时,将根据完全匹配算法创建连接池,该算法将池与连接中的连接字符串关联

    周雪峰
    2009年2月21日 4:35
    版主
  • 连接池是针对 connection String的



    只要你的Conneection String不变  那么Connection 就可以回收复用

    但是这个connection 并不是ado.net connection 对象  而是更底层的 

    oledb 和 odbc对象

    oledb  odbc  和sql native client    都提供了连接池    

    也就是说  
    oledb 自己准备了很多连接池   只要ConnectionString有不同  就会放在一个新的连接池
    odbc 自己准备了很多连接池   只要ConnectionString有不同  就会放在一个新的连接池
    sql native Client  自己准备了很多连接池   只要ConnectionString有不同  就会放在一个新的连接池

    由于验证信息本身会保存在cstring中 所以只要在 clr访问数据库  没有必要根据进程产生不同的连接池

    所以:
    多个同样连接的winform 共享连接池
    多个同样连接字符串的网站 也共享连接池
    就算首页不能显示30天内排行榜 回答总数也快接近top10了 5555
    努力奋斗 重回首页排行榜!!! 55555
    有原则的回答问题: 不懂的不去装懂,别人回答得很完整的,没有需要补充的不去蹭分。
    2009年2月24日 8:40

全部回复

  • 你好!
         这个是对应你的应用程序的
    ,在初次打开连接时,将根据完全匹配算法创建连接池,该算法将池与连接中的连接字符串关联

    周雪峰
    2009年2月21日 4:35
    版主
  • 连接池是针对 connection String的



    只要你的Conneection String不变  那么Connection 就可以回收复用

    但是这个connection 并不是ado.net connection 对象  而是更底层的 

    oledb 和 odbc对象

    oledb  odbc  和sql native client    都提供了连接池    

    也就是说  
    oledb 自己准备了很多连接池   只要ConnectionString有不同  就会放在一个新的连接池
    odbc 自己准备了很多连接池   只要ConnectionString有不同  就会放在一个新的连接池
    sql native Client  自己准备了很多连接池   只要ConnectionString有不同  就会放在一个新的连接池

    由于验证信息本身会保存在cstring中 所以只要在 clr访问数据库  没有必要根据进程产生不同的连接池

    所以:
    多个同样连接的winform 共享连接池
    多个同样连接字符串的网站 也共享连接池
    就算首页不能显示30天内排行榜 回答总数也快接近top10了 5555
    努力奋斗 重回首页排行榜!!! 55555
    有原则的回答问题: 不懂的不去装懂,别人回答得很完整的,没有需要补充的不去蹭分。
    2009年2月24日 8:40
  • 忘记说了  用户也是一个参考条件   因为 windows 身份验证   不同用户身份的connection 不能算同等


    就算首页不能显示30天内排行榜 回答总数也快接近top10了 5555
    努力奋斗 重回首页排行榜!!! 55555
    有原则的回答问题: 不懂的不去装懂,别人回答得很完整的,没有需要补充的不去蹭分。
    2009年2月24日 8:50