2014-10-28 70 views
0

我的問題與Efficient way to bulk insert into Dbase (.dbf) files幾乎完全相同 - 是否有一種有效的方式可以批量插入到dbase IV dbf文件中?源數據來自SQL Server 2012.我有可用的Visual FoxPro,但我想用C#編程實現這一點。批量插入Dbase IV(.dbf)文件的有效方法

+0

我給你的問題是這樣的...你有VFP嗎?這將是更容易... – DRapp 2014-10-29 02:01:37

+0

在VFP中,它是SOOOOOOOOOOO易於拉入DBF ...基本上完成3個語句...連接,查詢下來,複製到DBF ...完成 – DRapp 2014-10-29 15:12:07

回答

1

正如評論所說,如果在VFP,你應該能夠藉助於做

很容易,我能想到的,可能工作如下唯一的辦法了。

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這也是一個簡單的「創建表」命令。

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循環插入並更新參數...您會看到這些例子,並希望大多數都清楚遵循。

+0

感謝您的迴應,我會試試這個,讓你知道 – reggaeguitar 2014-10-29 17:45:45

+0

我不確定這是否適用於我的情況。我正在編寫一個C#應用程序,需要從許多不同的查詢中創建許多dbf文件,我認爲創建視圖等的開銷要比使用oledb逐行插入需要更長的時間(我目前正在做的事情是生成dbfs )。如果您有任何關於如何從C#向dbfs執行批量插入的其他想法,我很樂意聽到它們。附:我可能能夠使用vfp dbf格式,而不是dB​​ase IV – reggaeguitar 2014-10-29 23:15:40

+0

@reggaeguitar,修改後的答案與我過去提供/發佈的其他人的暗示鏈接有關,還有更多。 – DRapp 2014-10-30 01:07:25