在.NET程序中读取DBF文件

       近日,一项目需要从一中后缀为dbf的数据文件中读取数据。在读取过程,遇到点问题。以下为解决思路:

       在.NET中读取dbf文件,需要使用ODBC数据源的方式。

       我的连接字符串如下:

      

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  
<appSettings>
    
<add key ="dbConnection" value="Driver={Microsoft Visual FoXPro Driver};SourceType=DBF;SourceDB=D:\work\数据\show2003.dbf;Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO"/>
  
</appSettings>
</configuration>

        注意根据自己的环境,修改其中的SourceDB的值,对应与你的dbf文件的详细路径。

        然后使用如下代码,连接数据库,读取数据,但抛出了一个异常。

       

      根据异常,搜索后,在http://blog.csdn.net/precipitant/archive/2006/09/11/1208064.aspx原因,我的widows2003系统上面的Visual FoXPro的odbc驱动更新了,但不兼容以前的格式。根据文件名vpfodbc.dll搜索,在http://www.zhaodll.com/上找到该文件不同系统的DLL包,备份出c:\windows\system32\vpfodbc.dll,取出压缩包其中的WINDOW2000版的文件,替换了原版文件,再测试,打开连接成功。

       在另一台WINDOWS2003的电脑,使用SQL2003导Visual FoXPro的数据时,也会出现这种情况,需要找老版本的ODBC驱动。

     

posted on 2008-09-27 19:41  心儿醉 xinerzhui  阅读(1416)  评论(2编辑  收藏  举报