访问“Access”数据库,可以使用“Access数据库访问类”,它是一个“静态的方法类”。比如“public static void DataAccess.ExeSql(string sql)”。问题:
“线程1”使用此方法,打开了“数据库连接”,数据还没有处理完,“连接”还没有关闭。“线程2”、“线程3”、“线程4”使用此方法又要打开“数据库连接”,这时就会出现问题,资源释放不了。解决方法:
1、不使用静态方法,而是创建“数据库访问类对象”,这样是不是就不会出现“连接”资源竞争了??? 2、为每一个线程创建一个连接,连接持续开放,不关闭。因为,线程要持续循环处理数据,这样是不是即可以提高数据处理效率,又可以给每个线程“专用的访问连接对象”,从而不会造成资源竞争。这样可以吗???
“线程1”使用此方法,打开了“数据库连接”,数据还没有处理完,“连接”还没有关闭。“线程2”、“线程3”、“线程4”使用此方法又要打开“数据库连接”,这时就会出现问题,资源释放不了。解决方法:
1、不使用静态方法,而是创建“数据库访问类对象”,这样是不是就不会出现“连接”资源竞争了??? 2、为每一个线程创建一个连接,连接持续开放,不关闭。因为,线程要持续循环处理数据,这样是不是即可以提高数据处理效率,又可以给每个线程“专用的访问连接对象”,从而不会造成资源竞争。这样可以吗???
还是“Access”中的“单表”不支持同时“查询,插入,更新,删除”??? SQLServer中,只要不是“记录”被锁定,可以并发“查询,插入,更新,删除”。如果是使用多个“xml”文件,同一个“xml”可以同时“写入、查询、删除”吗? 当然,“写入、删除、查询”的不是同一条记录。