收藏 分销(赏)

操作(DBF格式数据)总结.doc

上传人:仙人****88 文档编号:7453528 上传时间:2025-01-05 格式:DOC 页数:6 大小:46.50KB 下载积分:10 金币
下载 相关 举报
操作(DBF格式数据)总结.doc_第1页
第1页 / 共6页
操作(DBF格式数据)总结.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
DBF数据导入、导出总结 --从SQL Server查询器预览dBase 文件中数据 select * from openrowset('MICROSOFT.ACE.OLEDB.12.0','dBase 5.0;database=D:\dbf','select * from [1111.dbf]') --若提示:无法处理对象"select * from [1.dbf]"。链接服务器"(null)" 的OLE DB 访问接口"MICROSOFT.ACE.OLEDB.12.0" 指示该对象没有列,或当前用户没有访问该对象的权限。 --解决:这个文件损坏了,或者是需要用户名和密码 select * from openrowset('VFPOLEDB.1','D:\dbf';'admin';'','select * from [1111.dbf]')--前提是系统已经安装vfpoledb 驱动 select * from openrowset('MSDASQL', 'Driver=Microsoft Visual FoxPro Driver; SourceDB=D:\dbf; SourceType=DBF', 'select * from [1111.dbf]') --注:odbc连接dbf表出现[Microsoft][ODBC 驱动程序管理器] 驱动程序不支持此功能”错误的解决方法为原来是操作系统升级到win2003后机器上的foxpro的odbc驱动太新了。不支持老式的访问驱动了。 --需要从一个xp系统上复制一个dll到win2003系统中覆盖,dll的名称是vfpodbc.dll, 大小为K,版本.1.8630.1。 ================================================================ /**************导入DBF文件****************/ select * from openrowset('MSDASQL', 'Driver=Microsoft Visual FoxPro Driver; SourceDB=D:\dbf; SourceType=DBF', 'select * from 1111.dbf') /***************** 导出到DBF ***************/ 如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句 insert into openrowset('MSDASQL', 'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=D:\dbf', 'select * from 1111.dbf') select * from 表 --说明: (1)、SourceDB=D:\dbf 指定foxpro表所在的文件夹;(2)、aa.DBF 指定foxpro表的文件名. --注: 如果在使用ODBC方式连接数据库时,出现了对话框为“Microsoft ODBC 驱动程序管理器驱动程序不支持此功能”解决方案:基本上就是你机器上缺少一些相关的DLL了。解决办法就是下载驱动程序Visual FoxPro ODBC Driver装上,就可以了: 直接下载地址 ============================================================================== ----------DBF 导入SQL Server表---------- --以下均以SQL2000、VFP6及以上的表为例 --方法一:查询分析器中执行如下语句(先选择对应的数据库) --如果接受导入数据的SQL表已经存在 insert into 已经存在的SQL表名 select * from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=d:\dbf','select * from 1111.DBF') --也可以对应列名进行导入,如: insert into 已经存在的SQL表名 (列名,列名...) select (对应列名,对应列名...) from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=d:\dbf','select * from 1111.DBF') --如果接受导入数据的SQL表不存在,导入时创建 --方式一: select * into 要生成的SQL表名 from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=d:\dbf','select * from 1111.DBF') --方式二: select * into TEMP1 from openrowset('VFPOLEDB.1','d:\dbf';'admin';'' ,'select * from 1111.DBF') select * from openrowset('VFPOLEDB.1','d:\dbf';'admin';'' ,'select * from 1111.DBF') --如果没有安装VFP(即:vfpoledb驱动),需要把vfpoledb.dll拷贝到SYSTEM目录下,并注册。 --方式三: select * into 要生成的SQL表名 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DATABASE=c:\','select * from dbf表名.dbf') --方式四: select * into 要生成的SQL表名 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase III;HDR=NO;IMEX=2;DATABASE=c:\','select * from dbf表名.dbf') --用前两种方式导入SQL SERVER后,源表再用VFP打开就不提示“不能存取文件”,说明语句执行后就把源表关闭了。不过也有不尽人意的地方,就是用前两种方式导入后,源表中的字符型字段导入后SQL表字段对应变成NVARCHAR了。 --第三种方式有一个缺点:把DBF表导入SQL Server中后,马上用VISUAL FOXPRO打开DBF表,会提示“不能存取文件”,即这个表还被SQL打开着呢。可是过了分钟左右,再打开DBF表就可以了,说明经过一段时间后查询分析器才把这个表关闭。 --也可以只导几个字段 select * into 要生成的SQL表名 from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\','select 字段,字段from aa.DBF') /*--说明: SourceDB=c:\ c:\是dbf文件的存放目录 aa.DBF 是dbf文件名 --*/ --方法二:通过SQL Server的“导入导出数据”工具(DTS) --1、建立Visual FoxPro的数据源: --在ODBC中建立一个Visual FoxPro的数据源(ODBC-Microsoft Visual FoxPro Driver)的步骤如下: --打开ODBC配制窗口-> --选择“用户DSN”页面或“系统DSN”页面,建议用后者-> --点击“添加”按钮-> --选择“Microsoft Visual FoxPro Driver”这个驱动-> --在Data Source Name(数源源名称)处输入此数据源名称,可自定,本例如LjDbf,Database Type(数据库类型)处选择“Free Table directory”(自由表路径),然后在下面的Path(路径)处设置你要导入的DBF表所在的路径,本列如“D:\”-> --点击“OK”(确定)配制完成-> --关闭ODBC配制窗口 --2、通过SQL的导入导出数据(DTS)来把DBF表导成SQL表: --开始-> --程序-> --Microsoft SQL Server-导入导出数(DTS)-> --下一步-> --此步为“选择数据源”的窗口,“数据源”选“Microsoft Visual FoxPro Driver”,同时在"用户/系统DSN"处选择你刚刚配制的数据源名(本例如LjDbf,当然上面配制数据源的过程也可以通过“用户/系统DSN”后面有一个“新建”按钮来完成),然后点击“下一步”-> --此步为“选择目的”的窗口,“目的”选"用于SQL Server的Microsoft OLE DB提供程序"(此项一般为默认),同时选择你要导成的SQL表的存放数据库、服务器及服务器的验证方式,然后点击“下一步”-> --这时: --A:如果要把DBF表全部字段均导入,则选择“从源数据库复制表和视图”,点击“下一步”-> --选择要导入的DBF表,在‘目的’处可修改生成SQL表的名称,默认与DBF表名一样,点击“下一步”-> --再点击“下一步”-> --最后点击“完成”进行导入即可(导入成功与否DTS会有提示)。 --B:如果只导入DBF表中的几个字段或全部字段(如果导入全部字段,也可以用上面步骤A,结果是一样的,只是方法不同),则选择“用一条查询指定要输出的数据”,点击“下一步”-> --点击“查询生成器”,选择要导入的DBF表(此时可选择列),点击“下一步”-> --指定排序顺序,选一个或多个排序字段,如果不用排序,此步可略,点击“下一步”-> --此步可以指定查询条件,如果没有条件,此步可略,点击“下一步”-> --出现了对应的SQL语句(也可以再修改生成的SQL语句,但不推荐),再点击“下一步”-> --这时可修改要生成的SQL表名,默认为“结果”,再点击“下一步”-> --再点击“下一步”-> --最后点击“完成”进行导入即可(导入成功与否DTS会有提示)。 --方法三: --先把DBF表转成EXCEL或TXT,然后SQL SERVER的导入导出工具把EXCEL或TXT导入即可(此方法类似方法二,不再介绍)。 ----------SQL Server表导出DBF---------- --方法一:如果DBF表已经存在,在查询分析器中执行以下语句(先选择对应的数据库) insert into openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\','select * from 表B.DBF') select * from 表a /*--说明: SourceDB=c:\c:\是dbf文件的存放目录 表B.DBF是已经存在dbf文件名,数据导入此表 表A.dbf是要导出的SQL表名 --*/ --方法二:如果DBF表不存在,直接导出时创建,通过SQL Server的“导入导出数据”工具 --1、建立Visual FoxPro的数据源: --在ODBC中建立一个Visual FoxPro的数据源(ODBC-Microsoft Visual FoxPro Driver)的步骤如下: --打开ODBC配制窗口-> --选择“用户DSN”页面或“系统DSN”页面,建议用后者-> --点击“添加”按钮-> --选择“Microsoft Visual FoxPro Driver”这个驱动-> --在Data Source Name(数源源名称)处输入此数据源名称,可自定,本例如LjDbf,Database Type(数据库类型)处选择“Free Table directory”(自由表路径),然后在下面的Path(路径)处随便设置一个路径,本列如“D:\”-> --点击“OK”(确定)配制完成-> --关闭ODBC配制窗口 --2、通过SQL的导入导出数据(DTS)来把SQL表导成DBF表: --开始-> --程序-> --Microsoft SQL Server-导入导出数(DTS)-> --下一步-> --此步为“选择数据源”的窗口,“数据源”选"用于SQL Server的Microsoft OLE DB提供程序"(此项一般为默认),同时选择你要导出的SQL表所在数据库、服务器及服务器的验证方式,然后点击“下一步”-> --此步为“选择目的”的窗口,“目的”选“Microsoft Visual FoxPro Driver”,同时在"用户/系统DSN"处选择你刚刚配制的数据源名(本例如LjDbf,当然上面配制数据源的过程也可以通过“用户/系统DSN”后面有一个“新建”按钮来完成),然后点击“下一步”-> --这时: --A:如果要把被导出的SQL表的全部字段均导出,则选择“从源数据库复制表和视图”,点击“下一步”-> --选择要导出的表或视图,在‘目的’处可修改生成的DBF表的名称,默认与SQL表名一样,点击“下一步”-> --再点击“下一步”-> --最后点击“完成”进行导出即可(导出成功与否DTS会有提示),导出成功之后的DBF表的主文件名与SQL的表名一样。 --B:如果只导出SQL表中的几个字段或全部字段(如果导出全部字段,也可以用上面步骤A,结果是一样的,只是方法不同),则选择“用一条查询指定要输出的数据”,点击“下一步”-> --点击“查询生成器”,选择要导出的SQL表(此时可选择列),点击“下一步”-> --指定排序顺序,选一个或多个排序字段,如果不用排序,此步可略,点击“下一步”-> --此步可以指定查询条件,如果没有条件,此步可略,点击“下一步”-> --出现了对应的SQL语句(也可以再修改生成的SQL语句,但不推荐),再点击“下一步”-> --这时可修改要生成的DBF表名,默认为“结果”,再点击“下一步”-> --再点击“下一步”-> --最后点击“完成”进行导出即可(导出成功与否DTS会有提示)。 --注: --导出成功后,DBF文件一般存于Microsoft SQL Server\80\Tools\Binn 或Program Files\Common Files\ODBC\Data Sources目录下,并没有存于上面所说的D:\,这个我也不知为什么,哪位如果知道,请告之。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服