Microsoft ActiveX Data Objects 2.1 Library、Microsoft DAO 3.51 Object Library。Private Sub Command1_Click()
Dim db As DAO.Database, rs As DAO.Recordset
Set db = OpenDatabase("C:\", False, False, "FoxPro 2.5")
Set rs = db.OpenRecordset("examp1")
Dim conn As ADODB.Connection, cmd As ADODB.Command
Set conn = New ADODB.Connection
Set cmd = New ADODB.Command
conn.Open "ODBC;DATABASE=sqlexample;UID=sa;PWD=123456;DSN=sql1"
Set cmd.ActiveConnection = conn
Do While Not rs.EOF
cmd.CommandText = "INSERT INTO example1 VALUES ('" & rs.Fields(0) & "', '" & rs.Fields(1) & "')"
cmd.Execute
rs.MoveNext
Loop
MsgBox "載入完畢"
conn.Close
End Sub
逐筆 INSERT 速度極慢。大量資料請使用 bcp:
-- 1. DBF 轉文字檔 (可用 VFP/Excel/工具匯出 CSV)
-- 2. BCP 匯入
bcp sqlexample.dbo.example1 IN data.txt -c -t, -S server -U sa -P pwd
參數:-c 字元模式、-t, 欄位分隔符、-S 伺服器、-U/-P 認證。
OPENROWSET 直接查詢 DBF。