以前没怎么接触过文件型的数据库,最近新单位要使用
我使用adoconnection 来连接连接基本设置如下
Microsoft.Jet.OLEDB.4.0;Data   Source=d:\1\;Extended   Properties=dbase 5.0;Persist ecurity Info=False 
然后用了个adotable与connection连接在adotable的tablename里已经可以看到数据库的名字了,但是打开时爆出外部数据库驱动8961的意外错误,请问是需要我安装爱他数据库驱动还是因为这个dbf的版本太旧了
另外我从微软网站上下了vfpodbc和vfpoledbsetup装了,但是adoconnection里的那个ole db for forpro不能选择,总是爆程序不可用
有谁知道为什么么?

解决方案 »

  1.   

    另外这个dbf好像是foxpro的还有一个cdx索引文件,我使用delphi tool->database desktop open table打开是错的,报corrupt table/index header
      

  2.   

    我遇到过,还是安装不全的原因,下个安装版的foxpro,安装一下就可以了。尽量不要用精简版的。
      

  3.   

    dbf操作用Ado不如BDE,或者直接有halcyon组建直接操作。
      

  4.   


    ado报爆出外部数据库驱动8961的意外错误
    bde报corrupt table/index header错误
      

  5.   

    adoConnection1.ConnectionString:='Provider=MSDASQL.1;Extended Properties="Driver={Microsoft Visual Foxpro Driver};SourceType=DBF;SourceDB=c:mydb"';
      

  6.   


    microsoft odbc驱动程序管理器 驱动程序不支持此功能
      

  7.   

    还需要安装vfpodbc或者其他的驱动么?
      

  8.   

    这个不需要安装驱动,假设要访问E:\e1.dbfadoConnection1.ConnectionString:='Provider=MSDASQL.1;Extended Properties="Driver={Driver do Microsoft dBase (*.dbf)};DefaultDir=E:\;DBQ=E:\"';
    adoConnection1.Open;
    ADOQuery1.SQL.Text := 'select * from e1';
    ADOQuery1.Open;
      

  9.   


    灰常感谢,不过还是外部数据库驱动8961的意外错误
    我下了个cdbf的工具可以打开并查询该数据库,这两天我再尝试下吧
      

  10.   

    ADOConnection1.ConnectionString:='Provider=VFPOLEDB.1;Data Source=D:\路徑;Password="";Collating Sequence=MACHINE';
      

  11.   

    我从微软网站上下了vfpodbc和vfpoledbsetup装了,但是adoconnection里的那个ole db for forpro不能选择,总是爆程序不可用,请安装正确的版本
      

  12.   

    谢谢大家的回答,不过问题依旧是没解决,其实8L,11L给出的解决方法我发帖前就已经试过了总是不行,但是让我奇怪的是我从网上下载的两个dbf工具是可以识别的,后来没办法还是下载了第三方控件来读取的,还是对文件型数据库了解不够啊