資料的匯入、匯出是指將文字檔或外部資料庫(ACCESS,FOXPRO,EXCEL等)的資料轉換成SQL Server格式或將SQL Server資料庫轉換為其他資料格式的過程。
11.2.1 資料轉換服務DTS
DTS是Data Transformation Service的縮寫,提供將一種資料來源轉換為另一種資料來源的服務。DTS提供了許多服務,包括資料複製、資料轉換和通知狀況。
1. 匯出資料
【例11-11】將XSCJ資料庫匯出到Access 2000資料庫系統中,取名為ACCESS_XSCJ.MDF。
使用者在匯出SQL Server資料之前,須首先在Access 2000中建立一個檔案名稱為ACCESS_XSCJ.MDF的空白資料庫,以便接受來自SQL Server資料庫的資料。
(1) 在Access 2000中建立名為ACCESS_XSCJ.MDF的空白資料庫
①在Access 2000中建立一個資料庫,並將其命名為ACCESS_XSCJ
②在資料庫視窗中,雙擊【使用設計器建立表】選項,
③在資料表設計工具視窗中,設定表的欄位名稱、資料類型及其他選項等。
④單擊【儲存】按鈕,並以表名access_xsjbxxb,access_cjb等,直到資料庫access_XSCJ.mdb所有表均建立完成。
註:建立的access資料庫也可以是一個空白資料庫,因此步驟②至⑤步可以省略。
(2)利用SQL Server資料匯入/匯出嚮導將SQL Server資料庫的資料匯出到ACCESS資料庫中。
①啟動資料匯入與匯出工具。選擇【開始】/【程式】/【Microsoft SQL Server】/【匯入和匯出資料】命令,出現【DTS匯入/匯出嚮導】歡迎畫面。
②單擊【下一步】按鈕,出現【選擇資料來源】對話方塊。在【資料來源】下拉式列表框中選擇【用於SQL Server的Microsoft OLE DB提供者】或【Microsoft ODBC Drive for SQL Server】。
③在【伺服器】框中輸入或選擇SQL Server伺服器的名稱,並選擇SQL Server伺服器的登入方式,可以選擇使用Windows NT身分識別驗證,也可以選擇使用SQL Server身分識別驗證模式。如果選擇後一個模式,還需要在【使用者名稱】文字框中輸入登入時使用的使用者帳戶名稱,然後在【密碼】框中輸入登入密碼。
④單擊【重新整理】按鈕,使所選伺服器上的所有資料庫出現在【資料庫】下拉式清單中,然後選擇要匯出的SQL Server資料庫,本例中選擇XSCJ資料庫。如果需要對來源資料庫OLE DB驅動程式的進程選項進行設定,單擊【進階】按鈕,並在【進階串連屬性】對話方塊中設定有關選項,然後單擊【下一步】按鈕。
⑤選擇目標資料庫。當出現【選擇目的】對話方塊時,在【目的】下拉式清單方塊中選擇目的資料庫格式。列表中提供了文字檔、Access資料庫、Excel資料庫、Visual FOXPRO資料庫等多種選項,此處選擇Microsoft access資料庫格式。
⑥在【檔案名稱】文字框中輸入目的資料庫的檔案名稱和路徑,本例所選擇的Access資料庫檔案名為【Access_XSCJ.mdb】。
如果需要登入到目標資料庫,分別在【使用者名稱】和【密碼】文字框中輸入登入使用者名稱和密碼;如果需要對目標資料庫OLE DB驅動程式的進程選項進行設定,單擊【進階】按鈕,然後在【進階串連屬性】對話方塊中設定有關選項。選擇目標資料庫並完成相關設定後,單擊【下一步】按鈕。
⑦選擇整個表或部分資料進行複製。在對話方塊中,選擇下列選項之一:
l 若要把選定資料庫中的源表或視圖複製到目標資料庫中,選擇【從來源資料庫複製表和視圖】選項。
l 若只想使用一個查詢將指定資料複製到目標資料庫中,選擇【用一條查詢指定要傳輸的資料】選項。
本例選第一項,單擊【下一步】按鈕。
⑧選擇來源表。在對話方塊中列出了來來源資料庫中所包含的表,可以從中選擇一個或多個表作為來源表,為此在【源】列中選定相應的複製框即可。選擇一個來源表以後,就會在【目的】列中顯示出目標表的名稱,可預設。選擇來源表後,單擊【下一步】按鈕。
⑨轉換資料並儲存為DTS包。當出現【儲存、調度和複製包】對話方塊時,在【時間】地區中選擇【立即執行】複選框,以便在完成資料匯出選項設定以後立即執行資料轉換操作;在【儲存】地區中選擇【儲存DTS包】複選框,並選擇【SQL Server】選項,以便將DTS包儲存到SQL Server中,以後要重複執行該操作時,只需執行DTS包即可。單擊【下一步】按鈕。
⑩儲存DTS包。由於在上一步操作中選擇了儲存DTS包,此時將出現【儲存DTS】的對話方塊,圖中在【名稱】文字框中指定DTS包的名稱,在【描述】框中輸入解說文字,此外還可以設定訪問該包的密碼以及其他選項。知道【使用者密碼】只可以執行包不能修改包,知道【擁有者密碼】則可以執行和修改包操作,接著,單擊【下一步】按鈕。
⑾完成設定。至此,嚮導程式已經收集到資料轉換所需要的各項參數,這些參數在畫面中匯總列出。由於已經設定了立即執行資料轉換,單擊【完成】按鈕後,將開始執行資料轉換操作。
⑿當資料轉換全部完成之後,單擊【確定】按鈕,單擊【完成】按鈕。
通過上述操作,SQL Server資料庫中的表被匯出到Access 2000資料庫中。相應可以在ACCESS資料庫中開啟、瀏覽這些表資料,
在資料匯出的過程中,還建立了一個DTS包,在SQL Server企業管理器中展開【資料轉換服務】檔案夾,就可看到相關的DTS包資訊。如果要執行資料轉換操作,在SQL Server企業管理器中右擊DTS包,然後選擇【執行包】命令即可執行DTS包,並會在Access 2000中產生相應表。
同樣也可以將Excel等資料來源匯入至SQL Server資料庫中。這種形式的資料轉換常用於系統使用初期,即將以前做好的Access、Excel等資料匯入至SQL Server資料庫中,而無需重新輸入資料。