none
关于 多线程访问 一个 OLE DB CDataSource对象的问题 RRS feed

  • 问题

  • 请问:
    当 多线程需要 同时 在 一个 OLE DB  CDataSource对象上执行 CSession.Open(m_source) 时,
    需要对 这一个 CDataSource对象 进行保护吗?



    2010年3月13日 6:31

答案

全部回复

  • 是的,需要啊。
    2010年3月13日 7:12
    版主
  • 谢谢您,
    还有两个问题,
    1:
     使用vc  ,通过 OLE DB  访问 sql server 2005 时,CSession.Open 函数在什么什么时候 返回啊?
    有没有异步操作?

    这个有什么文档来说明这些类里的方法什么时候返回啊?

    2:一个数据源 ,上可以有多少个 CSession?
        这个有什么限制吗?

    3: 我的理解是,一个数据库连接,对应一个数据源,一个数据源可以有很多  CSession 对应?
    请问是这样的吗?
    在什么文档里,有这个对应关系?

    2010年3月13日 8:47
  • 1) CSesion 在数据库连接成功或者连接超时的是否Open 方法返回。
    2) 一个数据库能承受多少Session 是依据数据源来确定的。一个txt文件、Oracle 数据库、SQL SERVER 数据库同时支持的连接数(Session 数) 肯定不一样。数据库的不同版本个数也是不一样的。SQL SERVER 的最大连接数可以通过SELECT @@MAX_CONNECTIONS 来查询。 据说Oracle 的最大连接数可以修改。

    这个问题唯一可以确定的是: 数据库性能会随着连接数的增加而下降。
    2010年3月13日 9:53
    版主