请教:如何从SQL SERVER中将大量数据导入到FOXPRO数据库中?
现有这样的一个问题:我从某个SQL SERVER 2008 数据库的一张数据表中把符合某些条件的数据筛选出来导入到FOXPRO库中,我目前的做法是这样的:
利用ASP.NET和C#语言:
首先读出这些符合条件的记录到一个DataTable,命名为dt;
读取FOXPRO空表,到另一个DataTable中,命名为dt1;
然后循环遍历dt,将数据添加到dt1中,利用dt1的CommandBuilder批量Update,这种手段在记录数较少的情况下能够成功,但是遇到大量数据时便极容易产生一种无法跟踪的错误,因为这个错误随机而且无法定位在具体的记录上;
我还尝试了另一个做法,就是不批量Update,采取读一条数据,即在dt中插入一条,同时Update dt1,但是依然产生上述错误,虽然错误名称固定了,但是依然无法识别是什么错误,错误提示为“Varialbe Q233P45 is not found!”,这错误中的数字部分依然会产生变化。
此外我还尝试了另一个做法:就是循环遍历dt,同时构造一个插入的SQL语句并执行,但是由于需要导出的字段数很多,某些字段的值的长度很长,导致整个SQL语句总体的长度很长,在利用connection进行execute的时候,会发生“Command contains unrecognized phrase/keyword.”这样的错误,即“命令中含有无法识别的谓词”。
现在请教各位VFP高手,当你需要从某个非FOXPRO数据库中读取大量记录到一个FOXPRO表中时,您会如何做?
亦或者您对我以上的一些做法有什么更好的提议或者对出现的问题有什么解决的办法?
真心求教,请予以帮助!