none
关于sql 线程池的机制问题和连接返回的问题? RRS feed

  • 问题

  • 数据库目前用的是oracle

    在java连接oracle中,如果连接打开,不管服务器返不返回,到超时时间我都会关闭连接,继续下一次。(异步?)

    在.net连接oracle中,如果连接打开,必须等服务器返回,除非与服务器断开,程序才能往下执行。(同步?)

    是否是因为sql server中有某种机制,保证数据库在任何情况在只要连接上就必有返回呢?还是其他的?

    还有就是连接字符串有配置Max Pool Size,Min Pool Size,它是如何创建连接线程的?初始创建最小,然后累加,到最大就排队?

    Connection Lifetime

    当连接被返回到池时,将其创建时间与当前时间作比较,如果时间长度(以秒为单位)超出了由 Connection Lifetime 指定的值,该连接就会被销毁。这在聚集配置中很有用(用于强制执行运行中的服务器和刚置于联机状态的服务器之间的负载平衡)。

    如果我设置 lifetime=120,是否意味着2分钟会清理一次连接线程?这个参数该如何设置呢?

    2010年12月29日 2:40

答案

  • 有关连接线程池的问题,应该是你说的初始创建最小,然后累加,到最大就排队,一般来说,Max Pool Size,Min Pool Size可以让.net取默认缺省值。

    • 已标记为答案 Ai-hua Qiu 2011年1月6日 8:28
    2010年12月29日 3:21
  • 你好,

    关于 lifetime=120,你可以参阅下面的连接信息:

    Data Source=ServerName;Initial Catalog=AdventureWorks;User Id=loginID;Password=password;Connection Lifetime=120;Connection Timeout=60;Min Pool Size=10;Max Pool Size=50;
    
    

    设置 lifetime=120,只是将其创建时间与当前时间作比较,如果时间长度(以秒为单位)超出了由 Connection Lifetime 指定的值,该连接就会被销毁,并不意味着2分钟会清理一次连接线程。ADO.NET 2.0 引入了两种新的方法来清除池:ClearAllPools 和 ClearPool。(在Oracle 中,连接池服务每3分钟关闭未被使用的链接)

    更详细的信息,请你参阅下面的文档:
    SQL Server 连接池 (ADO.NET)

    谢谢,
    邱爱华


    Ai-hua Qiu[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已建议为答案 Ai-hua Qiu 2010年12月30日 9:27
    • 已标记为答案 Ai-hua Qiu 2011年1月6日 8:28
    2010年12月30日 9:09

全部回复

  • 有关连接线程池的问题,应该是你说的初始创建最小,然后累加,到最大就排队,一般来说,Max Pool Size,Min Pool Size可以让.net取默认缺省值。

    • 已标记为答案 Ai-hua Qiu 2011年1月6日 8:28
    2010年12月29日 3:21
  • 你好,

    关于 lifetime=120,你可以参阅下面的连接信息:

    Data Source=ServerName;Initial Catalog=AdventureWorks;User Id=loginID;Password=password;Connection Lifetime=120;Connection Timeout=60;Min Pool Size=10;Max Pool Size=50;
    
    

    设置 lifetime=120,只是将其创建时间与当前时间作比较,如果时间长度(以秒为单位)超出了由 Connection Lifetime 指定的值,该连接就会被销毁,并不意味着2分钟会清理一次连接线程。ADO.NET 2.0 引入了两种新的方法来清除池:ClearAllPools 和 ClearPool。(在Oracle 中,连接池服务每3分钟关闭未被使用的链接)

    更详细的信息,请你参阅下面的文档:
    SQL Server 连接池 (ADO.NET)

    谢谢,
    邱爱华


    Ai-hua Qiu[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已建议为答案 Ai-hua Qiu 2010年12月30日 9:27
    • 已标记为答案 Ai-hua Qiu 2011年1月6日 8:28
    2010年12月30日 9:09