小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

SQL Server 2000:數(shù)據(jù)轉(zhuǎn)換服務(wù) (DTS)

 海為科技 2007-07-17

摘要: 為了完成數(shù)據(jù)合并、存檔和分析等任務(wù);為了進行應(yīng)用程序開發(fā);為了進行數(shù)據(jù)庫或服務(wù)器升級,數(shù)據(jù)庫管理員經(jīng)常需要導(dǎo)入、導(dǎo)出以及轉(zhuǎn)換數(shù)據(jù)。SQL Server 2000 中的數(shù)據(jù)轉(zhuǎn)換服務(wù)(DTS)為此提供了一組圖形化工具和可編程對象,能夠幫助管理員和開發(fā)人員解決從不同來源到單個或多個目標(biāo)的數(shù)據(jù)轉(zhuǎn)移問題,包括數(shù)據(jù)提取、轉(zhuǎn)換以及合并。您可以將任務(wù)、工作流操作和限制條件組成 DTS數(shù)據(jù)包,然后安排定期或在特定事件發(fā)生時執(zhí)行該數(shù)據(jù)包。本白皮書將介紹 DTS,給出一些能夠用于創(chuàng)建 DTS 解決方案的組件和服務(wù),介紹如何使用 DTS Designer 來實施 DTS 解決方案,最后將介紹 DTS 應(yīng)用程序開發(fā)。

*
本頁內(nèi)容
DTS 簡介 DTS 簡介
使用 DTS Designer 使用 DTS Designer
保存 DTS 數(shù)據(jù)包的選項 保存 DTS 數(shù)據(jù)包的選項
將 DTS 作為應(yīng)用程序開發(fā)平臺 將 DTS 作為應(yīng)用程序開發(fā)平臺

DTS 簡介

大部分公司的數(shù)據(jù)都具有多種存儲格式和存儲位置。為了支持決策制定、提高系統(tǒng)性能或升級現(xiàn)有系統(tǒng),經(jīng)常必須將數(shù)據(jù)從一個數(shù)據(jù)存儲位置轉(zhuǎn)移到另一個位置。

Microsoft SQL Server 2000 數(shù)據(jù)轉(zhuǎn)換服務(wù)(DTS)為此提供了一系列的工具,您可以用來從不同來源將數(shù)據(jù)提取、轉(zhuǎn)換和合并到單個或多個目標(biāo)。通過使用DTS工具,您可以根據(jù)公司的特殊需求創(chuàng)建定制的數(shù)據(jù)移動解決方案,正如下面這些情形:

?

您已經(jīng)在早期版本的 SQL Server 或其他平臺(例如 Microsoft Access)上部署了一個數(shù)據(jù)庫應(yīng)用程序。現(xiàn)在,新版本的應(yīng)用程序需要 SQL Server 2000,而且需要更改數(shù)據(jù)庫架構(gòu),并轉(zhuǎn)換部分?jǐn)?shù)據(jù)類型。

?

為了復(fù)制和轉(zhuǎn)換數(shù)據(jù),可以構(gòu)建一個 DTS 解決方案,將數(shù)據(jù)庫對象從原始數(shù)據(jù)源復(fù)制到 SQL Server 2000 數(shù)據(jù)庫中,同時重新設(shè)置數(shù)據(jù)欄并更改數(shù)據(jù)類型。您可以使用 DTS 工具來運行這個解決方案,或者將這個解決方案嵌入到您的應(yīng)用程序中。

?

您必須將一些關(guān)鍵的 Microsoft Excel 電子表格合并到 SQL Server 數(shù)據(jù)庫中。很多部門在每月底創(chuàng)建電子表格,但是沒有設(shè)置日程安排來完成所有的電子表格。

?

為了合并電子表格數(shù)據(jù),您可以構(gòu)建一個 DTS 解決方案,使其在消息被發(fā)送到消息隊列時執(zhí)行。這個消息將觸發(fā) DTS,使其從電子表格中提取數(shù)據(jù),執(zhí)行各種定義的轉(zhuǎn)換,然后將數(shù)據(jù)裝載到 SQL Server 數(shù)據(jù)庫中。

?

您的數(shù)據(jù)倉庫中保存了有關(guān)業(yè)務(wù)操作的歷史數(shù)據(jù),您要使用 Microsoft SQL Server 2000 分析服務(wù)來匯總這些數(shù)據(jù)。這個數(shù)據(jù)倉庫需要每天夜間從聯(lián)機事務(wù)處理(OLTP)數(shù)據(jù)庫進行更新。而您的 OLTP 系統(tǒng)一天 24 小時都在使用中,其性能十分關(guān)鍵。

您可以構(gòu)建一個 DTS 解決方案,使用文件傳輸協(xié)議(FTP)將數(shù)據(jù)文件移動到本地驅(qū)動器中,將數(shù)據(jù)裝載到事實表中,然后使用分析服務(wù)對數(shù)據(jù)進行統(tǒng)計。您可以安排這個 DTS 解決方案每天夜間執(zhí)行,也可以使用新的 DTS 日志選項來跟蹤這個過程所用的時間,使您能夠分析性能隨時間的變化。

DTS 是什么?

DTS 是一組數(shù)據(jù)轉(zhuǎn)換工具,您可以用來在一個或多個數(shù)據(jù)源(例如 Microsoft SQL Server、 Microsoft Excel 或 Microsoft Access)之間進行不同類型數(shù)據(jù)的導(dǎo)入、導(dǎo)出和轉(zhuǎn)換。其中的連通性通過數(shù)據(jù)訪問的開放式標(biāo)準(zhǔn)-OLE DB-來提供。ODBC(開放式數(shù)據(jù)庫連接)數(shù)據(jù)源由 OLE DB Provider for ODBC 來支持。

您可以將 DTS 解決方案創(chuàng)建為一個或多個數(shù)據(jù)包。每個數(shù)據(jù)包中可以包含一組有序的任務(wù),定義所要執(zhí)行的工作,也可以包含數(shù)據(jù)和對象的轉(zhuǎn)換、定義任務(wù)執(zhí)行的工作流限制以及數(shù)據(jù)源和目標(biāo)的連接等。DTS 數(shù)據(jù)包也提供記錄數(shù)據(jù)包執(zhí)行細(xì)節(jié)、控制事務(wù)以及處理全局變量等服務(wù)。

下列工具可以用于創(chuàng)建和執(zhí)行 DTS 數(shù)據(jù)包:

?

導(dǎo)入/導(dǎo)出向?qū)В↖mport/Export Wizard)用于構(gòu)建相對簡單的 DTS 數(shù)據(jù)包,支持?jǐn)?shù)據(jù)遷移和簡單轉(zhuǎn)換。

?

DTS Designer 圖形化地實施 DTS 對象模型,允許您創(chuàng)建具有大量功能的 DTS 數(shù)據(jù)包。

?

DTSRun是一個命令提示符實用程序,用來執(zhí)行已有的 DTS 數(shù)據(jù)包。

?

DTSRunUI 是DTSRun的圖形化界面, 也允許傳遞全局變量和生成命令行。

?

SQLAgent 不是一個 DTS 應(yīng)用程序;但是 DTS 可以用它來安排數(shù)據(jù)包的執(zhí)行。

您也可以使用 DTS 對象模型通過編程創(chuàng)建和運行數(shù)據(jù)包,構(gòu)建定制任務(wù)以及構(gòu)建定制轉(zhuǎn)換。

DTS 中的新內(nèi)容?

Microsoft SQL Server 2000 引入了許多 DTS 增強和新特性:

?

新的 DTS 任務(wù)包括 FTP 任務(wù)、執(zhí)行數(shù)據(jù)包任務(wù)、動態(tài)屬性任務(wù)以及消息隊列任務(wù)。

?

增強的日志功能記錄了每個數(shù)據(jù)包執(zhí)行的信息,允許您擁有完整的執(zhí)行歷史,并能查看任務(wù)中每個步驟的信息。您可以生成異常文件,包含可能由于錯誤而沒有執(zhí)行的數(shù)據(jù)行。

?

您可以將 DTS 數(shù)據(jù)包保存為 Microsoft Visual Basic 文件。

?

新的多段數(shù)據(jù)泵允許高級用戶在不同階段定制數(shù)據(jù)轉(zhuǎn)換操作。同時,也可以使用全局變量作為查詢的輸入?yún)?shù)。

?

您可以在 DTS 轉(zhuǎn)換任務(wù)和執(zhí)行 SQL 任務(wù)中使用參數(shù)化的源查詢。

?

您可以使用執(zhí)行數(shù)據(jù)包任務(wù),動態(tài)地將全局變量的取值從父數(shù)據(jù)包分配到子數(shù)據(jù)包。

使用 DTS Designer

DTS Designer 圖形化地實施 DTS 對象模型,允許您圖形化地創(chuàng)建 DTS 數(shù)據(jù)包。您可以使用 DTS Designer 來:

?

創(chuàng)建包含一個或多個步驟的簡單數(shù)據(jù)包。

?

創(chuàng)建包含復(fù)雜工作流的數(shù)據(jù)包,這些工作流中可包含使用有條件邏輯的多步操作、事件驅(qū)動的代碼或多個數(shù)據(jù)源的連接。

?

編輯已有的數(shù)據(jù)包。

DTS Designer 界面由工作區(qū)域、工具欄和菜單組成。其中工作區(qū)域用于構(gòu)建數(shù)據(jù)包,工具欄包含有數(shù)據(jù)包元素,您可以將它們拖動到設(shè)計頁中,菜單中包含有工作流和數(shù)據(jù)包管理命令。

圖1:DTS Designer界面

圖1:DTS Designer 界面
查看大圖。

在 DTS Designer 中,您可以將連接和任務(wù)拖動到設(shè)計頁中,并指定工作流執(zhí)行的順序,從而輕松地創(chuàng)建功能強大的 DTS 數(shù)據(jù)包。下面的內(nèi)容將定義任務(wù)、工作流、連接和轉(zhuǎn)換,并介紹如何使用 DTS Designer 輕松地實施 DTS 解決方案。

任務(wù):定義數(shù)據(jù)包中的步驟

DTS 數(shù)據(jù)包中通常包含一個或多個步驟。每個任務(wù)定義了一個可能在數(shù)據(jù)包執(zhí)行過程中執(zhí)行的工作項目。您可以使用任務(wù)來:

?

轉(zhuǎn)換數(shù)據(jù)

dtssql02

轉(zhuǎn)換數(shù)據(jù)任務(wù)

用來將數(shù)據(jù)從來源移動到目標(biāo),可以選擇在數(shù)據(jù)上應(yīng)用數(shù)據(jù)欄轉(zhuǎn)換。

dtssql03

數(shù)據(jù)驅(qū)動的查詢?nèi)蝿?wù)

用來對數(shù)據(jù)執(zhí)行基于 Transact-SQL 的靈活操作,包括存儲過程以及 INSERT、UPDATE 或 DELETE 聲明。

平行數(shù)據(jù)泵任務(wù) (1)

僅可用于編程,平行數(shù)據(jù)泵任務(wù)執(zhí)行與轉(zhuǎn)換數(shù)據(jù)和數(shù)據(jù)驅(qū)動的查詢?nèi)蝿?wù)相同的功能,但是支持 OLE DB 2.5 及更新版本所定義的 “章節(jié)式” 數(shù)據(jù)行集。

?

復(fù)制和管理數(shù)據(jù)

dtssql04

批量插入任務(wù)

用于快速地將批量數(shù)據(jù)裝載到 SQL Server 表或視圖中。

dtssql05

Execute SQL 任務(wù)

用于在數(shù)據(jù)包執(zhí)行過程中運行 SQL 語句。Execute SQL 任務(wù)也可以保存查詢的結(jié)果數(shù)據(jù)。

dtssql06

Copy SQL Server Objects 任務(wù)

用來將 SQL Server 對象從一個 SQL Server 安裝或?qū)嵗袕?fù)制到另一個中。您可以復(fù)制數(shù)據(jù)和表等對象,也可以復(fù)制視圖和存儲過程等對象定義。

dtssql07

Transfer Database 任務(wù)(1)

用來將 SQL Server 數(shù)據(jù)庫從一個 SQL Server 7.0 或 SQL Server 2000 實例移動或復(fù)制到 SQL Server 2000 實例中。

dtssql08

Transfer Error Messages 任務(wù)(1)

用于將用戶指定的錯誤消息從 SQL Server 7.0 或 SQL Server 2000 實例復(fù)制到 SQL Server 2000 實例,這些錯誤消息是由sp_addmessage系統(tǒng)存儲過程所生成的。

dtssql09

Transfer Logins 任務(wù)(1)

用來將賬號從 SQL Server 7.0 或 SQL Server 2000 實例復(fù)制到 SQL Server 2000 實例。

dtssql10

Transfer Jobs 任務(wù)(1)

用來將作業(yè)從 SQL Server 7.0 或 SQL Server 2000 實例復(fù)制到 SQL Server 2000 實例。

dtssql11

Transfer Master Stored Procedures 任務(wù)(1)

用來將存儲過程從 SQL Server 7.0 或 SQL Server 2000 實例中的master數(shù)據(jù)庫復(fù)制到 SQL Server 2000 實例的 master數(shù)據(jù)庫。

?

從數(shù)據(jù)包中將任務(wù)作為作業(yè)運行

dtssql12

ActiveX Script 任務(wù)

用來編寫代碼,執(zhí)行其他 DTS 任務(wù)中沒有的功能。

dtssql13

Dynamic Properties 任務(wù)(1)

用于在數(shù)據(jù)包運行時從 DTS 數(shù)據(jù)包外的來源處獲得數(shù)值,并將這些值分配給選定的數(shù)據(jù)包屬性。

dtssql14

Execute Package 任務(wù)(1)

用于從數(shù)據(jù)包中運行其他 DTS 數(shù)據(jù)包。

dtssql15

Execute Process 任務(wù)

用于運行可執(zhí)行程序或批處理文件。

dtssql16

FTP 任務(wù) (1)

用來從遠(yuǎn)程服務(wù)器或 Internet 位置下載數(shù)據(jù)文件。

dtssql17

Message Queue 任務(wù)(1)

用來從 Microsoft 消息隊列發(fā)送和接受消息。

dtssql18

Send Mail 任務(wù)

用來發(fā)送電子郵件。

dtssql19

Analysis Services Processing 任務(wù) (2)

用于處理一個或多個 SQL Server 2000 分析服務(wù)中所定義的對象。

dtssql20

Data Mining 任務(wù) (1,2)

用于從 SQL Server 2000 分析服務(wù)所定義的數(shù)據(jù)挖掘模型對象中創(chuàng)建一個預(yù)測查詢和輸出表。

1 SQL Server 2000中新增。

2 僅適用于已安裝 SQL Server 2000 分析服務(wù)的情形。

您可以程序化地創(chuàng)建定制任務(wù),然后使用 Register Custom Task(注冊定制任務(wù))命令將它們集成到 DTS Designer 中。

為了說明這些任務(wù)的使用,在這里我們給出了一個包含兩個任務(wù)的簡單 DTS 數(shù)據(jù)包: Microsoft ActiveX Script 任務(wù)和 Send Mail 任務(wù):

圖2:具有兩個任務(wù)的DTS數(shù)據(jù)包

圖2:具有兩個任務(wù)的 DTS 數(shù)據(jù)包

ActiveX Script 任務(wù)可以駐留任何 ActiveX 腳本引擎,包括 Microsoft Visual Basic Scripting Edition (VBScript)、Microsoft JScript 或者 ActiveState ActivePerl(您可以從http://www. [英文]下載)。 Send Mail 任務(wù)可以發(fā)送消息,指出該數(shù)據(jù)包已經(jīng)運行。請注意,這些任務(wù)是沒有順序的。在執(zhí)行數(shù)據(jù)包時,ActiveX Script 任務(wù)和 Send Mail 任務(wù)同時運行。

工作流:設(shè)置任務(wù)優(yōu)先級

當(dāng)您在定義一組任務(wù)時,通常任務(wù)的執(zhí)行是應(yīng)該有一定順序的。如果這些任務(wù)擁有一定的順序,那么每個任務(wù)將稱為一個過程中的一個步驟。在 DTS Designer 中,您可以在 DTS Designer 設(shè)計頁中對任務(wù)進行操作,使用優(yōu)先級限制來控制任務(wù)執(zhí)行的順序。

優(yōu)先級限制將數(shù)據(jù)包中的任務(wù)依次鏈接起來。下表給出了您可以在 DTS 中使用的優(yōu)先級限制的類型。

優(yōu)先級限制 說明

dtssql22
On Completion(完成后)
(藍(lán)色箭頭)

如果您希望任務(wù) 2 處于等待狀態(tài),直至任務(wù) 1 完成(無論結(jié)果如何),那么就使用 On Completion 優(yōu)先級限制將任務(wù) 1 鏈接到任務(wù) 2。

dtssql23
On Success(成功后)
(綠色箭頭)

如果您希望任務(wù) 2 處于等待狀態(tài),直至任務(wù) 1 成功完成,那么就使用 On Success 優(yōu)先級限制將任務(wù) 1 鏈接到任務(wù) 2。

dtssql24
On Failure(失敗后)
(紅色箭頭)

如果您希望任務(wù) 2 僅在任務(wù) 1 無法成功執(zhí)行時才開始執(zhí)行,那么就使用 On Failure 優(yōu)先級限制將任務(wù) 1 鏈接到任務(wù) 2。

下圖給出了具有 On Completion 優(yōu)先級限制的 ActiveX Script 任務(wù)和 Send Mail 任務(wù)。當(dāng) ActiveX Script 任務(wù)完成后(不論成功還是失?。琒end Mail 任務(wù)都開始運行。

圖3:具有On Completion優(yōu)先級限制的ActiveX腳本任務(wù)和發(fā)送郵件任務(wù)

圖3:具有 On Completion 優(yōu)先級限制的 ActiveX Script 任務(wù)和 Send Mail 任務(wù)

您可以配置不同的 Send Mail 任務(wù),一個用于 On Success 限制,另一個用于 On Failure 限制。這兩個 Send Mail 任務(wù)可以根據(jù) ActiveX Script 的成功或失敗來發(fā)送不同的郵件。

圖4:郵件任務(wù)

圖4:郵件任務(wù)

您也可以在一個任務(wù)上應(yīng)用多個優(yōu)先級限制。例如, Send Mail 任務(wù)"Admin Notification"可以具有來自腳本#1的 On Success 限制和來自腳本#2 的 On Failure 限制。在這種情況下,DTS 認(rèn)為其使用邏輯"AND"關(guān)系。因此為了發(fā)送 Admin Notification 郵件,腳本#1必須成功執(zhí)行,而腳本#2 必須失敗。

圖5:同一任務(wù)多個優(yōu)先級限制的示例

圖5:同一任務(wù)多個優(yōu)先級限制的示例

連接:訪問和移動數(shù)據(jù)

為了成功地執(zhí)行復(fù)制和轉(zhuǎn)換數(shù)據(jù)的 DTS 任務(wù),DTS 數(shù)據(jù)包必須與其來源和目標(biāo)之間建立有效的連接,同樣需要連接到其他數(shù)據(jù)源(例如查詢表)

在創(chuàng)建數(shù)據(jù)包時,您可以從有效 OLE DB 提供商和 ODBC 驅(qū)動程序列表中選擇連接類型,對連接進行配置??捎玫倪B接類型包括:

?

Microsoft 數(shù)據(jù)訪問組件(MDAC)驅(qū)動程序

dtssql28

Microsoft OLE DB Provider for SQL Server

dtssql29

Microsoft 數(shù)據(jù)鏈接

dtssql30

Microsoft ODBC Driver for Oracle

?

Microsoft Jet 驅(qū)動程序

dtssql31

dBase 5

dtssql32

Microsoft Access

dtssql33

HTML 文件(來源)

dtssql34

Microsoft Excel 97-2000

dtssql35

Paradox 5.X

?

其他驅(qū)動程序

dtssql36

文本文件(來源)

dtssql37

文本文件(目標(biāo))

dtssql38

其他連接

DTS 允許您使用任何 OLE DB 連接。連接工具欄中的圖標(biāo)為常用連接提供了方便的訪問方式。

下圖介紹了一個具有兩個連接的數(shù)據(jù)包。數(shù)據(jù)被從一個 Access 數(shù)據(jù)庫(來源連接)復(fù)制到 SQL Server 生產(chǎn)數(shù)據(jù)庫(目標(biāo)連接)。

圖6:具有兩個連接的數(shù)據(jù)包示例

圖6:具有兩個連接的數(shù)據(jù)包示例
查看大圖。

這個數(shù)據(jù)包的第一步是一個執(zhí)行 SQL 任務(wù),該任務(wù)檢查是否已經(jīng)存在目標(biāo)表。如果已經(jīng)存在,這個表將被刪除并重新創(chuàng)建。在成功的完成了執(zhí)行 SQL 任務(wù)后,數(shù)據(jù)在第二步中被復(fù)制到 SQL Server 數(shù)據(jù)庫。如果復(fù)制操作失敗,則在第三步中發(fā)送一封電子郵件。

數(shù)據(jù)泵:轉(zhuǎn)換數(shù)據(jù)

DTS 數(shù)據(jù)泵是一個 DTS 對象,用來驅(qū)動數(shù)據(jù)的導(dǎo)入、導(dǎo)出和轉(zhuǎn)換。在轉(zhuǎn)換數(shù)據(jù)、數(shù)據(jù)驅(qū)動的查詢以及平行數(shù)據(jù)泵任務(wù)中將使用這個數(shù)據(jù)泵。這些任務(wù)將在來源和目標(biāo)連接中創(chuàng)建數(shù)據(jù)行組,然后創(chuàng)建數(shù)據(jù)泵實例,將數(shù)據(jù)行在來源和目標(biāo)之間移動。在數(shù)據(jù)行被復(fù)制時,對每一行進行數(shù)據(jù)轉(zhuǎn)換。

下圖的步驟 2 中,在 Access DB 任務(wù)和 SQL Production DB 任務(wù)之間使用了一個轉(zhuǎn)換數(shù)據(jù)任務(wù)。轉(zhuǎn)換數(shù)據(jù)任務(wù)是兩個連接之間的灰色箭頭。

圖7:轉(zhuǎn)換數(shù)據(jù)任務(wù)的示例

圖7:轉(zhuǎn)換數(shù)據(jù)任務(wù)的示例
查看大圖。

為了定義從來源連接收集到的數(shù)據(jù),您可以為這個轉(zhuǎn)換任務(wù)創(chuàng)建一個查詢。DTS 支持參數(shù)化的查詢,允許您在查詢執(zhí)行時定義查詢值。

您可以在該任務(wù)的屬性對話框中鍵入這個查詢。或者使用數(shù)據(jù)轉(zhuǎn)換服務(wù)查詢設(shè)計器(Data Transformation Services Query Designer),該工具可以用來為 DTS 任務(wù)圖形化地創(chuàng)建查詢。下圖中,使用查詢設(shè)計器構(gòu)建了一個將三個表加入到pubs數(shù)據(jù)庫中的查詢。

圖8:數(shù)據(jù)轉(zhuǎn)換服務(wù)查詢設(shè)計器界面

圖8:數(shù)據(jù)轉(zhuǎn)換服務(wù)查詢設(shè)計器界面
查看大圖。

在轉(zhuǎn)換任務(wù)中,您也可以定義對數(shù)據(jù)做出的更改。下表解釋了 DTS 提供的內(nèi)置轉(zhuǎn)換功能。

轉(zhuǎn)換 說明

復(fù)制數(shù)據(jù)欄

用來直接將數(shù)據(jù)從來源復(fù)制到目標(biāo)數(shù)據(jù)欄中,對數(shù)據(jù)不進行任何轉(zhuǎn)換。

ActiveX 腳本

用來構(gòu)建定制的轉(zhuǎn)換。請注意,由于轉(zhuǎn)換是逐行進行的,因此ActiveX 腳本可能會影響 DTS 數(shù)據(jù)包的執(zhí)行速度。

日期事件字符串

用來將來源數(shù)據(jù)欄中的日期或事件轉(zhuǎn)換為目標(biāo)數(shù)據(jù)欄中不同的格式。

小寫字母字符串

用來將來源數(shù)據(jù)欄中的小寫字母轉(zhuǎn)換(如果需要)為目標(biāo)數(shù)據(jù)欄的數(shù)據(jù)類型。

大寫字母字符串

用來將來源數(shù)據(jù)欄中的所有大寫字母轉(zhuǎn)換(如果需要)為目標(biāo)數(shù)據(jù)欄的數(shù)據(jù)類型。

字符串中段

用來從來源數(shù)據(jù)欄中提取子字符串,將其轉(zhuǎn)換,然后將結(jié)果復(fù)制到目標(biāo)數(shù)據(jù)欄中。

修剪字符串

用于刪除來源數(shù)據(jù)欄中字符串前、后和中間的空白,并將結(jié)果復(fù)制到目標(biāo)數(shù)據(jù)欄中。

讀取文件

用來打開來源數(shù)據(jù)欄中所指定的文件的內(nèi)容,并將其內(nèi)容復(fù)制到目標(biāo)數(shù)據(jù)欄中。

寫入文件

用來將來源數(shù)據(jù)欄(數(shù)據(jù))的內(nèi)容復(fù)制到文件中,該文件的路徑由第二個來源數(shù)據(jù)欄(文件名)指定。

您也可以通過編程創(chuàng)建自己的定制轉(zhuǎn)換。創(chuàng)建定制轉(zhuǎn)換的最快方法是使用活動模板庫(Active Template Library,ATL)定制轉(zhuǎn)換模板,該模板包含在 SQL Server 2000 DTS 示例程序中。

數(shù)據(jù)泵錯誤日志

SQL Server 2000中 擁有一種記錄轉(zhuǎn)換錯誤的新方法。您可以定義三種異常日志文件,用于數(shù)據(jù)包執(zhí)行過程:錯誤文本文件、來源錯誤數(shù)據(jù)行文件以及目標(biāo)錯誤數(shù)據(jù)行文件。

?

常規(guī)錯誤信息被寫入到錯誤文本文件中。

?

如果轉(zhuǎn)換過程失敗,那么來源數(shù)據(jù)行將出現(xiàn)錯誤,并將該行寫入到來源錯誤數(shù)據(jù)行文件中。

?

如果插入過程失敗,那么目標(biāo)數(shù)據(jù)行將出現(xiàn)錯誤,并將該行寫入到目標(biāo)錯誤數(shù)據(jù)行文件中。

異常日志文件被定義在轉(zhuǎn)換數(shù)據(jù)的任務(wù)中。每個轉(zhuǎn)換任務(wù)可以擁有它自己的日志文件。

數(shù)據(jù)泵階段

在默認(rèn)情況下,數(shù)據(jù)泵只有一個階段:數(shù)據(jù)行轉(zhuǎn)換。這個階段就是您所配置的在轉(zhuǎn)換數(shù)據(jù)任務(wù)、數(shù)據(jù)驅(qū)動的查詢?nèi)蝿?wù)以及平行數(shù)據(jù)泵任務(wù)中的數(shù)據(jù)欄轉(zhuǎn)換,而不選擇階段。

多數(shù)據(jù)泵階段功能是 SQL Server 2000 中所新增的。通過在 SQL Server Enterprise Manager 中選中多段數(shù)據(jù)泵選項,您可以在操作過程中的不同地方訪問數(shù)據(jù)泵,添加功能。

在將一行數(shù)據(jù)從來源復(fù)制到目標(biāo)時,數(shù)據(jù)泵按照下圖所示的基本程序進行操作。

圖9:數(shù)據(jù)泵過程

圖9:數(shù)據(jù)泵過程
查看大圖。

在數(shù)據(jù)泵處理完最后一行數(shù)據(jù)后,任務(wù)完成,數(shù)據(jù)泵操作結(jié)束。

如果高級用戶需要在數(shù)據(jù)包中添加功能,使其支持任何數(shù)據(jù)泵階段,他可以這樣做:

?

為每個定制的數(shù)據(jù)泵階段編寫一個ActiveX腳本階段。如果您使用ActiveX腳本功能來定制數(shù)據(jù)泵階段,不需要任何數(shù)據(jù)包以外的代碼。

?

在 Microsoft Visual C++ 中創(chuàng)建 COM 對象,定制所選中的數(shù)據(jù)泵階段。您在數(shù)據(jù)包以外開發(fā)這個程序,轉(zhuǎn)換的每個所選中的階段都將調(diào)用這個程序。與訪問數(shù)據(jù)泵階段的 ActieX 腳本方法不同的是,ActiveX 腳本方法為每個選中的階段使用不同的功能和入口點,而這種方法提供了單一入口點,由多個數(shù)據(jù)泵階段在任務(wù)執(zhí)行過程中調(diào)用。

保存 DTS 數(shù)據(jù)包的選項

下列選項可以保存 DTS 數(shù)據(jù)包:

?

Microsoft SQL Server

如果您希望在任何網(wǎng)絡(luò)中的 SQL Server 實例中保存數(shù)據(jù)包,請將您的 DTS 數(shù)據(jù)包保存在 Microsoft SQL Server 上,并保留這些數(shù)據(jù)包的清單,在數(shù)據(jù)包開發(fā)過程中添加和刪除數(shù)據(jù)包版本。

?

SQL Server 2000 元數(shù)據(jù)服務(wù)

如果您計劃跟蹤數(shù)據(jù)包版本、元數(shù)據(jù)和數(shù)據(jù)血統(tǒng)信息,請將 DTS 數(shù)據(jù)包保存在元數(shù)據(jù)服務(wù)上。

?

結(jié)構(gòu)化的存儲文件

如果您需要在網(wǎng)絡(luò)中復(fù)制、移動和發(fā)送數(shù)據(jù)包,而不想把數(shù)據(jù)包存儲到 Microsoft SQL Server 數(shù)據(jù)庫中,請將 DTS 數(shù)據(jù)包保存為結(jié)構(gòu)化的存儲文件。

?

Microsoft Visual Basic

如果您希望將其集成到 Visual Basic 程序中,或作為 DTS 應(yīng)用程序開發(fā)的原型,請將由 DTS Designer 和 DTS 導(dǎo)入/導(dǎo)出向?qū)?chuàng)建的 DTS 數(shù)據(jù)包保存為 Microsoft Visual Basic 文件。

將 DTS 作為應(yīng)用程序開發(fā)平臺

DTS Designer 提供了多種數(shù)據(jù)移動任務(wù)的解決方案。DTS 通過提供對 DTS 對象模型的程序化訪問,擴展了許多可用的解決方案。使用Microsoft Visual Basic、Microsoft Visual C++ 或其他支持 COM 的應(yīng)用程序開發(fā)系統(tǒng) ,您可以為您的環(huán)境開發(fā)一個定制的 DTS 解決方案,使用圖形工具中所不支持的功能。

DTS 以多種不同的方式為開發(fā)人員提供支持:

?

構(gòu)建數(shù)據(jù)包

您可以開發(fā)極其復(fù)雜的數(shù)據(jù)包,訪問對象模型中的所有功能,而不需要使用 DTS Designer 或 DTS 導(dǎo)入/導(dǎo)出向?qū)А?/p>

?

擴展數(shù)據(jù)包

您可以通過定制的任務(wù)和轉(zhuǎn)換來增加新的功能,這些任務(wù)和轉(zhuǎn)換是專門為您的業(yè)務(wù)定制的,并且能在DTS中重復(fù)使用。

?

執(zhí)行數(shù)據(jù)包

DTS 數(shù)據(jù)包的執(zhí)行不需要基于任何所提供的工具,可以通過 COM 事件通過編程執(zhí)行 DTS 數(shù)據(jù)包和顯示過程,允許構(gòu)建嵌入式或定制的 DTS 執(zhí)行環(huán)境。

所提供的 DTS 程序示例能夠幫助您了解 DTS 編程。這些示例與 SQL Server 2000 一同安裝。

如果您要開發(fā) DTS 應(yīng)用程序,那么您可以重新分配 DTS 文件。更多信息,請參考 SQL Server 2000 光盤的 Redist.txt 文件。

更多信息

Microsoft SQL Server 2000 Books Online中擁有許多有關(guān) DTS、使用DTS應(yīng)用程序以及構(gòu)建定制解決方案的信息。其他信息,請參考下列資源:

?

Microsoft SQL Server Web站點,地址為http://www.microsoft.com/china/sql/

?

Microsoft SQL Server Developer Center,地址為http://msdn.microsoft.com/library/default.asp?URL=/sqlserver/。

?

SQL Server Magazine,地址為http://www./ [英文]。

?

Microsoft.public.sqlserver.server和 microsoft.public.sqlserver.datawarehouse新聞組,地址為 news://news.microsoft.com。

?

關(guān)于SQL Server的微軟官方課程(Microsoft Official Curriculum)。如需了解最新的課程信息,請訪問Microsoft Training and Services Web站點,地址為http://www.microsoft.com/traincert/default.asp [英文]

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多