我们需要使用 C# 从 FoxPro 8 中读取数据。我要做一些操作,并将其中一些数据推送到 SQL Server 数据库。我们不确定读取这些数据的最佳方法是什么。
我看到了 OLE DB 和 ODBC;什么是最好的?
要求:
日。
找到一种绝对不会损坏数据的方法,并且最好不要
读取时锁定 DBF 文件。
必须很快,但要求 #4 是最重要的。
最佳答案
我会使用 OLEDB 连接器 - 它最近更新了很多,速度更快并且可以更好地处理内存。
如果您只是通过 OLEDB 驱动程序从 DBF 读取数据,我不会担心在记录或文件级别锁定或损坏数据。您需要做的就是处理 C# 代码中的异常,例如,当 FoxPro 应用程序中的某个进程以独占方式打开 DBF 而您无法读取它时。
您还需要注意优化所有查询以使用 DBF 文件上的可用索引,特别是因为您提到它很大。
我假设这都在同一个局域网上?如果它必须在 Internet 上工作,那么您需要调查通过 Web 服务公开 FoxPro 数据。
最后,还有其他选项可用于访问 DBF 文件。
Sybase 还提供了可以访问 DBF 文件的 ODBC 和 OLEDB 驱动程序——但是它们不能使用 FoxPro 触发器、存储过程等。不过,这对您的情况几乎可以肯定无关紧要。
关于c# - FoxPro 到 C# : What best method between ODBC, OLE DB 或其他?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12585995/