我的问题与Efficient way to bulk insert into Dbase (.dbf) files几乎完全相同 - 是否有一种有效的方法可以批量插入dbase IV dbf文件?源数据来自SQL Server 2012.我可以使用Visual FoxPro,但我希望以C#编程方式执行此操作。
答案 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
Another that shows both insert AND update build context samples
希望以上链接能够为您提供各种实现创建和插入DBF文件的功能。
您可以从其他数据库连接(如SQL,MySQL等)创建任何查询,并使用datareader或dataadapter.fill从一个循环下载,循环到VFP循环插入并更新参数...您将...看看这些例子,希望大多数人都明白这一点。