【摘要】計算機技術的發展帶來了龐大的信息數據,如何實現數據的維護和轉移是在數據管理中必須考慮的問題。實際操作中,常常需要對不同操作軟件和存儲服務器中的數據進行導出和導入,本文就常見的SQL Server數據轉移方式進行了介紹,并介紹了一種利用DTS的,基于網頁的數據庫數據導入方式。
【關鍵詞】計算機技術數據導入SQL Server DTS
SQL Server是一種常用的數據庫軟件,其可以提供豐富的方法和策略以實現數據的轉移。在SQL Server中進行數據的導入和導出需要考慮數據傳輸和數據轉換兩個方面,以應對不同環境下的不同需求。
一、SQL Server中的數據轉換服務
數據轉換服務,即DTS,可以按照用戶需求將不同位置的數據進行導入導出操作,以便集中處理和格式轉換。具體實現過程為,需要進行數據導出的數據源中的各種數據被傳輸到數據泵中,通過數據泵的數據轉換功能將不同格式的數據轉換為符合用戶要求的數據,然后將這些轉換后的數據存入目標數據庫。
1.1利用DTS設計器實現數據導入導出
SQL Server集成了一個簡單便于操作的數據導入導出工具,“DTS導入/導出向導”,可以利用該向導實現數據的導入導出工作。向導模式大致包含如下幾個步驟,選中需要導出數據的數據源,然后確定生成數據文件所使用的文本類型,然后選擇不同數據間的分隔符類型,再次確認數據導出目的地,通常為某一服務器,然后進行數據保存。這種數據轉移方式還可以將特定數據存為DTS包,方便以后的復制和轉移操作。
需要注意的是,若數據庫源端的拷貝表中存在外鍵,需要在移動的過程中進行分批次序移動,以防丟失外鍵、主鍵和索引等。也可以一次性將數據轉移后在重新建立外鍵、主鍵和索引等。最好的方法是將上述文件與建表文件分開存儲,便于日后對數據庫進行優化。
1.2利用Bcp拷貝使用程序實現數據的導入導出
Bcp是由系統提供的一個塊拷貝使用程序,利用該程序可以實現數據庫表和數據文件之間的數據拷貝,但是該工具的交互界面不是圖形化的,需要要通過程序代碼進行實現。其優點在于執行速度快,性能好,所占用的內存空間少。需要注意的是,bcp命令參數非常豐富,可以根據具體要求實現數據庫表或全局臨時表的數據導出或導入,但是該方式不能導出數據庫中的某一局部臨時表。
1.3利用數據庫的備份與恢復功能實現數據的導入導出
該方法利用數據庫的備份功能將數據進行備份,然后將備份后的數據文件復制到目的服務器上進行數據恢復,在恢復時,填寫恢復數據庫名與源數據庫相同,并強制回復,可以實現不同數據庫之間的數據傳遞。
1.4直接對數據文件進行拷貝和恢復實現數據的導入導出
這種方式是將數據庫中的數據文件和日志文件進行復制和轉移到目標服務器,然后再目標服務器中的數據文件和日志文件進行恢復即可。這種復制操作可以自主選取是否保留原始日志文件。
1.5通過自己編寫應用程序的方式實現數據的導入導出
應用程序如PB、VB等可以執行用戶編寫的命令,根據實際情況選擇合適的語句進行程序定制可以靈活實現數據的導入與導出,如select...into target_tablenames where...和insert source_tablenames select...from...where兩種語句都可以實現數據的轉移,但是區別在于前者是將數據插入到新建立的表中,后者是對現有數據表進行數據插入等。
二、基于網頁的數據庫數據導入實現
針對網頁的數據庫數據導入本文建立一個簡單的網絡拓撲結構,在該結構中,存在兩個服務器A和D,且相互獨立,而工作站B和C處于同一局域網內,其中,A和B位于同一局域網內,C和D位于因特網內,A所使用的的數據庫管理系統為Oracle,而D所使用的數據庫管理系統為SQL Server。如何實現將源數據庫A中的有關數據導入到目標數據庫D中是本文所需要解決的具體問題。
普遍的做法是在B中運行相應的客戶端軟件,利用該軟件對A中的數據進行備份,導入到本地數據文件中,然后利用移動存儲設備將本地數據文件從B復制到C中,然后在C端利用某些ftp軟件進行數據文件上傳,此時D中已經存在了所需要轉移的數據,在C中使用遠程桌面軟件登陸D利用DTS完成數據的導入工作,并對導入數據進行存儲。整個數據導入流程結束。
但是這種方式的缺點是需要管理人員進行手動操作,且操作流程過于繁瑣,不利于經常性操作。為改進這種數據導入的缺陷,可以在將數據復制到C中后,打開D中的相關網頁,利用網頁實現數據的導入。這種實現方式首先要實現網頁內的上傳功能,其次利用DTS的可編程對象在網頁端將數據文件導入到SQL Server中。
DTS可編程對象是一組COM對象的集合,包含Package、Connection、Step、ExecuteSQLTask、DataPumpTask、Transformation等一系列功能部分。在網頁端利用Script腳本對COM對象進行調用,完成數據導入工作。