当前位置: 代码迷 >> 数码设备 >> OpenDataSource为啥VFP7.0的dbf操作不了, 把表转成foxplus的dbf就能执行
  详细解决方案

OpenDataSource为啥VFP7.0的dbf操作不了, 把表转成foxplus的dbf就能执行

热度:8291   发布时间:2013-02-26 00:00:00.0
OpenDataSource为什么VFP7.0的dbf操作不了, 把表转成foxplus的dbf就能执行?
OpenDataSource为什么VFP7.0的dbf操作不了, 把表转存成foxplus的dbf就能执行?我想直接用vfp7版本的dbf,不想总去转化成低版本。我想应该是改Extended properties=后的内容,但不知改成什么。

对问题的详细说明:
在查询分析器中执行是命令如下:
select * from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\";User ID=Admin;Password=;Extended properties=dBase 5.0')...students
如果dbf表是foxplus版本的,一切正常
如果同一dbf表是VFP7.0版本的,出现以下出错信息:
服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。 
[OLE/DB provider returned message: 外部表不是预期的格式。]
OLE DB 错误跟踪[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBSchemaRowset::GetRowset returned 0x80004005:   ]。

------解决方案--------------------------------------------------------
你用的是JET引擎,非VFP OLEDB
select * from openrowset('VFPOLEDB.1','d:\zz';'admin';'' ,'select * from dd!aa')
到MS的网站下载VFPOLEDB
select * from openrowset('VFPOLEDB.1','d:\zz';'admin';'' ,'select * from dd!aa')
------解决方案--------------------------------------------------------
请参考:

http://blog.csdn.net/apple_8180/archive/2006/07/21/952751.aspx
------解决方案--------------------------------------------------------
VFP的ODBC驱动版本太低
看看ODBC数据源中VFP的驱动程序是不是1.0版的,是就换个高的