日期:2014-05-17  浏览次数:20893 次

多线程使用“Access数据库访问类”的问题
    访问“Access”数据库,可以使用“Access数据库访问类”,它是一个“静态的方法类”。比如“public  static  void   DataAccess.ExeSql(string  sql)”。

问题:
    “线程1”使用此方法,打开了“数据库连接”,数据还没有处理完,“连接”还没有关闭。“线程2”、“线程3”、“线程4”使用此方法又要打开“数据库连接”,这时就会出现问题,资源释放不了。


解决方法:
    1、不使用静态方法,而是创建“数据库访问类对象”,这样是不是就不会出现“连接”资源竞争了???

    2、为每一个线程创建一个连接,连接持续开放,不关闭。因为,线程要持续循环处理数据,这样是不是即可以提高数据处理效率,又可以给每个线程“专用的访问连接对象”,从而不会造成资源竞争。这样可以吗???

    

  

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