FoxPro到C#:ODBC,OLE DB或其他方法之间的最佳方法是什么?

Bes*_*ter 4 .net c# foxpro visual-foxpro

我们需要用C#从FoxPro 8读取数据.我要做一些操作,并将一些数据推送到SQL Server数据库.我们不确定读取这些数据的最佳方法是什么.

我看到了OLE DB和ODBC; 什么是最好的?

规定我们:

  1. 出口计划将每晚运行,但我公司每天24小时运行.
  2. DBF有时可能很大.
  3. 我们不需要修改数据.
  4. 我们的系统,使用FoxPro,非常不稳定:我需要找到一种绝对不会破坏数据的方法,理想情况下,不要在读取时锁定DBF文件.
  5. 速度是一个小要求:它必须快速,但要求#4是最重要的.

Ala*_*n B 5

我会使用OLEDB连接器 - 它最近更新,速度更快,处理内存更好.

如果您只是通过OLEDB驱动程序从DBF读取数据,我不会担心锁定在记录或文件级别,或破坏数据.您需要做的就是处理C#代码中的异常,例如,当FoxPro应用程序中的某些进程将DBF独占打开而您无法读取它时.

您还需要注意任何查询都经过优化以使用DBF文件上的可用索引,特别是因为您提到它很大.

我假设这一切都在同一个局域网上?如果它必须在互联网上工作,那么你需要调查通过Web服务公开FoxPro数据.

最后,还有其他选项可用于访问DBF文件.

Sybase还提供可以访问DBF文件的ODBCOLEDB驱动程序 - 但是它们不能使用FoxPro触发器,存储过程等.不过,在你的情况下,这几乎肯定无关紧要.