又是VFP的备注字段的问题,我要烦死了。
一个VFP数据库要转移到MS-SQL数据库中,安装了VFP6.0,其他的表都能转,含有备注字段的就不行,已经查找了很多有关的帖子,但是没有一个能解决我的问题。
使用DTS工具时,它自动给的对应字段是TEXT,但是导入时报错,我换用NTEXT,IMAGE都错。提示是无法实例化二进制大对象(blob)数据的存储对象,多步OLE DB操作出错。
后来检查Microsoft Jet 4.0的版本,发现我安装的是WIN2003SP1,Microsoft Jet 4.0并无问题。
看过几个相关问题的帖子,使用了以下类型的SQL语句来导:
select * into newtable from openrowset( 'VFPOLEDB.1 ', 'd:\trmp '; 'admin '; ' ' , 'select * from vfptablename ')
报错:未能找到 OLE DB 提供程序 'VFPOLEDB.1 ' 的注册表项。
OLE DB 错误跟踪[Non-interface error: Provider not registered.]。
select * from OPENROWSET( 'MSDASQL ', 'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=C:\MyVFPDB ', 'select top 100 * from a.dbf order by id ')
报错:未能处理对象 'select * from a.dbf '。OLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0 ' 指出该对象中没有任何列。
OLE DB 错误跟踪[Non-interface error: OLE DB provider unable to process object, since the object has no columnsProviderName= 'MICROSOFT.JET.OLEDB.4.0 ', Query=select * from a.dbf ']。
[解决办法]
select * into newtable from openrowset( 'VFPOLEDB.1 ', 'd:\trmp '; 'admin '; ' ' , 'select * from vfptablename ')
这种方式如果没有安装VFP,需要把vfpoledb.dll拷贝到SYSTEM目录下,并注册。
[解决办法]
mdac2.x并不包含oledb for vfp
oledb for vfp可到ms的vfp主页下载。
在vfp6.0的sql server升级向导中并未发现问题.