近日,一项目需要从一中后缀为dbf的数据文件中读取数据。在读取过程,遇到点问题。以下为解决思路:
在.NET中读取dbf文件,需要使用ODBC数据源的方式。
我的连接字符串如下:
< 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.youkuaiyun.com/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驱动。
本文介绍在.NET环境下读取DBF文件遇到的问题及解决方案,包括使用ODBC数据源和调整连接字符串的方法,以及替换不兼容的VisualFoXPro ODBC驱动的具体步骤。
3123

被折叠的 条评论
为什么被折叠?



