我现在需要使用ADO连接查询DBF文件,目标文件有2个,放在同一目录下,为VFP的DBF文件我原先误以为是ACCESS的DBF文件,使用连接串
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties=dBase 5.0;Persist Security Info=False 可以连接
可是如果文件是VFP的DBF文件,使用相同连接串会提示错误:至少一个参数没有被指定值。.另外如果我只单独查询其中的一个DBF文件,则正常连接,没有这个错误不胜感激!
附上SQLSELECT Sjswt.wthtxh,
       Sjswt.wtzqdm,
       Sjswt.wtgddm,
       Sjswt.wtwtsl,
       Sjswt.wtwtjg,
       Sjswt.wtywlb,
       Sjswt.wtwtsj,
       Sjswt.wtclbz,
       IIF(isnull(Sjshb.hbhtxh), '0', Sjshb.hbhtxh) as hbhtxh,
       sum(IIF(isnull(Sjshb.hbcjsl), 0, Sjshb.hbcjsl)) as hbcjsl
  FROM Sjswt
  LEFT OUTER JOIN Sjshb ON Sjswt.wthtxh = Sjshb.hbhtxh
 WHERE 1 = 1
 GROUP BY Sjswt.wthtxh,
          Sjswt.wtzqdm,
          Sjswt.wtgddm,
          Sjswt.wtwtsl,
          Sjswt.wtwtjg,
          Sjswt.wtywlb,
          Sjswt.wtwtsj,
          Sjswt.wtclbz,
          Sjshb.hbhtxh,
          Sjshb.hbcjsl

解决方案 »

  1.   

    连接VFP:
    Provider=MSDASQL.1;Persist Security Info=False;Driver={Microsoft Visual FoxPro Driver};    
                UID=;SourceDB=D:\;SourceType=DBF
      

  2.   


    提示:[Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLSetConnectAttr 失败.
      

  3.   

    MSDASQL这个驱动在我的OLE DB提供程序里面是没有的
      

  4.   

    去MS的网站下载一个VFPOLEDB的驱动
      

  5.   

    举例:
    前题:C盘中存有两个DBF文件(CUSTOMER.dbf及CUSb.DBF),本例两个数据表的字段相同,只是组合出一个查询结果出来:SELECT a.*, b.*
      from openrowset('MICROSOFT.JET.OLEDB.4.0',
                      'dBase III;DATABASE=c:\',
                      'select * from [CUSTOMER.dbf]') a,
           openrowset('MICROSOFT.JET.OLEDB.4.0',
                      'dBase III;DATABASE=c:\',
                      'select * from [CUSb.DBF]') b
      

  6.   

    如果字段不相同请自行指定要显示的字段,例如:a.x_a,b.yy
    另:如果单独显示一个文件:SELECT *
      from openrowset('MICROSOFT.JET.OLEDB.4.0',
                      'dBase III;DATABASE=c:\',
                      'select * from [CUSTOMER.dbf]')
      

  7.   

    装了驱动以后,连接串改为:
    Provider=VFPOLEDB.1;Data Source=Q:\wt;Password="";Collating Sequence=MACHINE
    提示:
     SQL: Column 'HBHTXH' is not found.难道我SQL写错了?可是这个SQL原来都是一直能运行的,左连接不是这么写的吗?
      

  8.   

    结贴操作总提示超时,问题已经解决,能操作的时候再给GDTOPONE兄分