Efficient way to bulk insert into Dbase IV (.dbf) files

半城伤御伤魂 提交于 2019-12-12 04:54:01

问题


My question is pretty much the exact same as Efficient way to bulk insert into Dbase (.dbf) files - Is there an efficient way to bulk insert into dbase IV dbf files? The source data is coming from SQL Server 2012. I have Visual FoxPro available but I'd like to do this programatically from C#.


回答1:


As mentioned in comment, if in VFP, you should be able to do quite easily by means of

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.

The only other way I can think of that MAY work is as follows.

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.

Then, in C# using the VFP OleDB, create a connection to the path AND include the .DBC database name. Then you might be able to do a select based on the VIEW name... and hopefully the .DBC will kick in, and open / get SQL connection handle, run the remote view query and return all the data to you.

Let me know if this guidance works for you.

One example to create table from existing within VFP's OleDB this also a simple "Create Table" command.

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

Hopefully the above links show you a wide variety to implement creating and inserting into DBF files.

You can create whatever query from other database connection such as SQL, MySQL, etc and use a datareader or dataadapter.fill to download from one, loop into the VFP cycle insert and update the parameters... You'll see the examples and hopefully most are clear to follow.



来源:https://stackoverflow.com/questions/26619662/efficient-way-to-bulk-insert-into-dbase-iv-dbf-files

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!