.net 大容量插入Dbase IV(.dbf)文件的有效方法

.net 大容量插入Dbase IV(.dbf)文件的有效方法,.net,oledb,foxpro,dbase,.net,Oledb,Foxpro,Dbase,我的问题与—是否有一种有效的方法可以批量插入到dbase IV dbf文件中—几乎完全相同?源数据来自SQL Server 2012。我有VisualFoxPro可用,但我想用C语言编程。如评论中所述,如果在VFP中,您应该可以通过 nHandle = sqlconnect( "connection string to your database" ) sqlexec( nHandle, "select * from YourTable", "localResultSetInVFP" ) */

我的问题与—是否有一种有效的方法可以批量插入到dbase IV dbf文件中—几乎完全相同?源数据来自SQL Server 2012。我有VisualFoxPro可用,但我想用C语言编程。如评论中所述,如果在VFP中,您应该可以通过

nHandle = sqlconnect( "connection string to your database" )
sqlexec( nHandle, "select * from YourTable", "localResultSetInVFP" )
*/ At this point, the current work area is the "localResultSetInVFP"
copy to SomeOtherTable    <== this actually creates the final DBF for you locally.
然后,在使用VFP OleDB的C中,创建到路径的连接并包含.DBC数据库名称。然后您可以根据视图名称进行选择。。。希望.DBC能够启动,打开/获取SQL连接句柄,运行远程视图查询并将所有数据返回给您

让我知道这个指导是否对你有效

这也是一个简单的创建表命令

希望上面的链接向您展示了实现创建和插入DBF文件的各种方法


您可以从其他数据库连接(如SQL、MySQL等)创建任何查询,并使用datareader或dataadapter.fill从其中下载,循环到VFP循环插入并更新参数。。。您将看到这些示例,希望大多数示例都清晰可见。

我向您提出的问题是。。。你们有VFP吗?这将更容易…在VFP中,很容易拉入DBF。。。基本上在3个语句中完成。。。连接,向下查询,复制到dbf。。。doneThanks谢谢你的回答,我会试试这个,让你知道我不确定这个在我的情况下是否有效。我正在编写一个C应用程序,它需要从许多不同的查询中创建许多dbf文件,我认为创建视图等的开销将比使用oledb进行逐行插入所花费的时间更长,而我目前正在做的是生成dbf。如果您对如何从C到dbfs进行批量插入有任何其他想法,我很想听听。另外,我可能会使用vfp dbf格式,而不是dBaseIV@reggaeguitar,用我过去提供/发布的其他人的建议性链接修改了答案,还有更多。谢谢,这些都很有用。我相信所有这些选项仍然会对每一行调用ExecuteOnQuery,这正是我试图加快的。我查看了dbase IV文件格式,它似乎没有那么复杂,所以我将尝试使用字节[]构建自己的文件。谢谢你的帮助
Create a database CONTAINER in VFP.
Create a connection to the SQL Database.
Create a REMOTE VIEW to the table(s) in the SQL Database.