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

时间:2014-10-28 22:32:16

标签: .net oledb foxpro dbase

我的问题与Efficient way to bulk insert into Dbase (.dbf) files几乎完全相同 - 是否有一种有效的方法可以批量插入dbase IV dbf文件?源数据来自SQL Server 2012.我可以使用Visual FoxPro,但我希望以C#编程方式执行此操作。

1 个答案:

答案 0 :(得分:1)

如评论中所述,如果在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.

我能想到的唯一可行的方法如下:

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.

然后,在使用VFP OleDB的C#中,创建与路径的连接并包含.DBC数据库名称。然后你可以根据VIEW名称进行选择......希望.DBC会启动,打开/获取SQL连接句柄,运行远程视图查询并将所有数据返回给你。

如果本指南适合您,请告诉我。

One example to create table from existing within VFP's OleDB这也是一个简单的&#34;创建表&#34;命令。

Example of simple insert-into with parameters to help prevent SQL-injection

a very good sample of build the command and parameters ONCE, then do for each row and execute to insert

Another that shows both insert AND update build context samples

希望以上链接能够为您提供各种实现创建和插入DBF文件的功能。

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