假设我要用H:\att.dbf
我使用
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=h:\;Extended Properties=dbase 5.0;Persist Security Info=False
Sql=’select * from att.dbf’
会出现“从外部数据库驱动程序产生非预期的错误(8961)”
如何才能连接上啊????

解决方案 »

  1.   

    http://borland.mblogger.cn/aiirii/posts/4472.aspx
      

  2.   

    BDE组件可以实现不配置ODBC。
    比如,一个TTable对象tbData,访问dbf表方法如下:
      tbData.DataBaseName :='H:';    //数据表文件所在的路径
      tbData.TableName := 'att.dbf';
      tbData.Active := TRUE;
    如果是TQuery对象qyData,访问dbf表方法如下:
      qyData.DataBaseName :='H:';
      qyData.TableName := 'select * from att.dbf';
      qyData.Active := TRUE;
    不过,软件发布的时候,需要带上bantam.dll、idapi32.dll、iddbas32.dll、idr20009.dll运行库。
      

  3.   

    下载一个最新驱动
    vfpoledb.exe我前些日子做项目就是用的它
    好使
    一个字
      

  4.   

    還是不行啊,麻煩給個例子好不好啊
    BDE我根本就不行
      

  5.   

    Corrupt table/index header.用BDE時是這個錯誤,我是用VF 6.0建的數據庫,有10M數據
      

  6.   

    [email protected]
    以前我都是这样处理的,数据量有1万多条,没有问题的。应该和数据量大小是没有关系的。
    发报错的数据表给我吧,我帮你调试。
      

  7.   

    我把它轉換成DBASE IV 格式又可以了,到底是什麼問題啊?
      

  8.   

    a2.DBF 数据表文件有问题,我用access链接表无法链入,提示文件存在问题。不过通过ODBC又可以访问。的确有点弄糊涂了。把a2.dbf修复一下,或者用 peterluolaw(木瓜) 的方法修整一下数据表文件,应该可以解决。
      “我把它轉換成DBASE IV 格式又可以了,到底是什麼問題啊?”我猜想是因为转换过的dbase数据表本身被修复过。DBASE 和 FoxPro以及 Paradox都可以用我说的方法访问的。