程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 將DBF數據庫轉換成SQL Server表

將DBF數據庫轉換成SQL Server表

編輯:關於SqlServer
1、前言 隨著計算機技術的發展,客戶機/服務器(ClIEnt/Server)體系結構的數據庫系統應用越來越廣泛,而Foxbase、Foxpro是我國近階段使用較廣的數據庫開發軟件,很多數據都存在DBF表中,本文將介紹如何將DBF表中的數據轉換到SQL Server表中。

  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)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved