本地程序需要读取dbf文件内容,而该dbf文件被ftp工具实时从远程服务器上面下载下来直接覆盖。有可能我正在读取dbf文件内容的时候,文件被覆盖了。这样,可能会导致数据错误。不知道大家有什么好的解决办法?

解决方案 »

  1.   

    打开文件读取时,不要设置文件共享,那么,ftp就不能覆盖该文件。
    当读取完毕,就立即关闭文件。释放控制权,让ftp去更新文件。建议更新文件后,通知你处理。 ^_^ 不知道是否理解了lz的意思。
      

  2.   

    首先优化代码,尽可能缩短读取时间.
    1、读记录前锁定dbf文件,使其他进程无法修改该dbf文件,读后解锁。
    2、程序中加一个线程, 用ReadDirectoryChangeW监测dbf文件是否被修改.若是,则通知主线程更新rs