CSDN论坛里时不时有朋友问起怎么把xls、dbf文件导入远程MySQL、Oracle等数据库,想当年我也为这个问题忙活了好一阵。如果十几、二十个文件,手工搞掂也就算了,上百个文件、二三十G,那怎么可能!免不了琢磨着搞个程序来做导入。
因为熟悉VFP,而且后面的工作还要用到VFP,所以整个程序就用VFP编了。
要点如下:
一、SQL数据库插入数据的标准办法是Insert
Insert Into table_name [( Fieldname1 [, FieldName2, ...])] Values ( eExpression1 [, eExpression2, ...])]
或者
Insert Into table_name [( Fieldname1 [, FieldName2, ...])] Select SelectClauses
前者先要表达式赋值,后要一行一行循环,费事。后者在SQL圈里打转,从SQL外导数到SQL内,行不通。
心里想着最好是能有一条语句,从SQL外文件导入到SQL内,就好象VFP的Append From。Append是VFP自己的命令,可以从数组也可以从文件一次过追加记录。另外,VFP对SQL命令Insert还有一个扩展:
Insert Into dbf_name From Arrary Arrayname
也支持从数组追加数据。
但这两种方法不是SQL标准,不适用于SQL环境,不能用来直接向MySQL、Oracle传送数据。
于是想到远程视图(View),变通一下,Append到视图。
一测试,发现远程视图要把数据先下载下来,这就不好了,目的是上传,下载干啥?而且VFP文件有2G的限制,视图里的数据肯定要放到个临时文件里,没上传就先超2G了。
后来到CSDN里请教,承蒙happyflystone、wanbolantian、十豆三等几位朋友出手相助、指点迷津,于是改用游标。
VFP通过游标适

本文介绍了如何使用Visual FoxPro(VFP)编写程序,将大量xls和dbf文件高效地导入到远程MySQL和Oracle数据库。通过游标适配器和VFP的CursorAdapter实现数据导入,避免了手动操作和下载数据的步骤。程序首先通过VFP打开xls文件,然后使用VFP的Insert命令和游标适配器将数据插入到数据库。对于dbf文件,直接使用VFP的Append From命令进行导入。此外,还提供了解决生僻字问题的方法,并记录了导入过程中的文件特征和状态。
最低0.47元/天 解锁文章
519

被折叠的 条评论
为什么被折叠?



