访问“Access”数据库,可以使用“Access数据库访问类”,它是一个“静态的方法类”。比如“public  static  void   DataAccess.ExeSql(string  sql)”。问题:
    “线程1”使用此方法,打开了“数据库连接”,数据还没有处理完,“连接”还没有关闭。“线程2”、“线程3”、“线程4”使用此方法又要打开“数据库连接”,这时就会出现问题,资源释放不了。
解决方法:
    1、不使用静态方法,而是创建“数据库访问类对象”,这样是不是就不会出现“连接”资源竞争了???    2、为每一个线程创建一个连接,连接持续开放,不关闭。因为,线程要持续循环处理数据,这样是不是即可以提高数据处理效率,又可以给每个线程“专用的访问连接对象”,从而不会造成资源竞争。这样可以吗???
      

解决方案 »

  1.   

    access不支持并发查询,使用多线程不可能提高性能。
      

  2.   

      Master, “Access”不支持并发查询吗???    那开发网站的时候,采用“Access”数据库,当“多用户”访问网站的时候是怎么访问“Access”的???    

    还是“Access”中的“单表”不支持同时“查询,插入,更新,删除”???      SQLServer中,只要不是“记录”被锁定,可以并发“查询,插入,更新,删除”。如果是使用多个“xml”文件,同一个“xml”可以同时“写入、查询、删除”吗?   当然,“写入、删除、查询”的不是同一条记录。
      

  3.   

    Master,也就是说一个“Access”数据库对应多个“连接和Session”的时候,即使它们之间没有表和记录之间的竞争。也只能按照先后顺序进行处理,并不能并发对吧???
      

  4.   

    比较关心一个问题,“Access”到底支不支持“并发链接”???
      

  5.   

    比较关心一个问题,“Access”到底支不支持“并发链接”???