2、用Visual Basic編程實現轉換 用Visual Basic編程實現轉換,即通過SQL Server提供的ODBC接口(開放數據庫接口)及Visual Basic中應用數據訪問,建立Visual Basic與SQL Server的連接,由Visual Basic向SQL Server提交創建表命令,然後將.dbf的每條記錄提交給SQL Server,完成數據轉換。DBF的數據結構是(examp1.dbf):
字段名 類型 字段長度 字段內容 Id C 4 貨物編號 name C 20 貨物名稱實現步驟:
(1)在數據庫服務器”sqlserver1”中建立數據庫sqlexample,建立一個表”example1”,其結構與examp1.dbf結構相同。其結構是:
字段名 類型 字段長度 字段內容 Id C 4 貨物編號 name C 20 貨物名稱(2)、ODBC的設置:在客戶機上進入Windows的控制面板( Control panel )。雙擊ODBC數據源(32位)圖標,進行數據庫的ODBC驅動設置。在用戶DSN下,按“添加”,選擇SQL Server,在名稱輸入”sql1”,服務器輸入”sqlserver1”,用戶名輸入”sa”,口令輸入”123456”,測試是否連通。
(3)、在Visual Basic建立一工程,添加“引用”Microsoft ActiveXData Objects2.1 Library和Microsoft DAO 3.51 object library。在Form1上建一個Command1,將Command1的Caption改為轉換。 程序清單如下:Private Sub Command1_Click()
Dim db As Database
Dim tb As Recordset
‘打開C:examp1.dbf
Set db=OpenDatabase(c:,False,False,”foxpro 2.5”)
Set tb=db.OpenRecordset(examp1)
Dim conn1 As ADODB.Connection
Dim cmd1 As ADODB.Command
Set conn1=New ADODB.Connection
Set cmd1=New ADODB.Command
cons1=”ODBC;DATABASE=sqlexample;UID=sa;PWD=123456;DSN=sql1”
conn1.Open cons1
Set cmd1.ActiveConnection=conn1
Do while not tb.EOF
Cmds1=”insert into example1 values(‘“& tb.Fields(0) &”’,‘“& tb.FIElds(1)
&”’)”
cmd1.CommandText=cmds1
cmd1.Execute
tb.MoveNext
Loop
MsgBox“載入完畢”,,”提示”
Cnn1.Close
Unload me
End Sub
使用上述方法,只要知道一些簡單的SQL Server操作及Visual Basic編程便可實現將DBF中的數據載入到SQL Server中。但存在不足之處,如果DBF中數據量很大,超過幾十萬條記錄時,載入的時間將會很長。解決大批量數據載入,需要用到SQL Server所提供的塊拷貝實用程序(bcp)