blog.Toby

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            130 隨筆 :: 2 文章 :: 150 評(píng)論 :: 0 Trackbacks
          ?

          ?

          在以前的DTS中,在包的開發(fā)、測(cè)試、發(fā)布遷移過程中有很多問題,典型的問題是你必須手動(dòng)的確定包中的所有連接都指向一個(gè)實(shí)際存在的物理服務(wù)器

          幸運(yùn)的是,現(xiàn)在在SSIS中提供了這種問題的解決方案,那就是包配置
          包配置是一個(gè)動(dòng)態(tài)改變你的SSIS對(duì)象和連接屬性的一種機(jī)制,它把這些動(dòng)態(tài)可以改變的信息保存在包的外部,有下面幾種方法存儲(chǔ)這些值并將其傳送到包中:
          ?XML文件
          ?環(huán)境變量
          ?注冊(cè)表鍵值
          ?父包變量

          下面我們將舉例使用XML文件存儲(chǔ)這些值

          這個(gè)例子我們將會(huì)把一個(gè)文本文件導(dǎo)入到數(shù)據(jù)庫的表中,并可以動(dòng)態(tài)配置數(shù)據(jù)庫的位置來源

          首先開始我們的包的建立:
          ?假設(shè)存在一文本文件 PersonAge.txt,內(nèi)容如下:
          ??1,Joe Bloggs,27
          ??2,Mary Smith,26
          ??3,Fred Jones,28
          ?目標(biāo)表為dbo.PersonAge,使用下面代碼建立?
          ??CREATE TABLE [dbo].[PersonAge](
          ???[PersonAgeKey] [int] NULL,
          ???[Person] [varchar](35) NULL,
          ???[PersonAge] [int] NULL
          ??) ON [PRIMARY]
          ??GO
          ?下面開始拖曳組件到控制流面板
          ???。一個(gè)Execute SQL task組件,命名為Truncate destination. 其 SQL 命令為 TRUNCATE TABLE dbo.PersonAge.
          ???。一個(gè)數(shù)據(jù)流組件,命名為Import File.
          ???。然后把2者關(guān)聯(lián)起來
          ?
          ???
          ?
          ??下面開始設(shè)計(jì)【Import File】數(shù)據(jù)流任務(wù)
          ???。一個(gè) Flat File connection 組件指向PersonAge.txt文件
          ???。一個(gè) OLE DB Connection 組件指向存在dbo.PersonAge表的數(shù)據(jù)庫 ,然后配置列的屬性,使表跟文件對(duì)應(yīng)起來
          ??????
          ???
          ??
          ??到現(xiàn)在為止,已經(jīng)成功的建立了包

          設(shè)置包配置
          ??現(xiàn)在開始設(shè)置包配置,這是非常簡(jiǎn)單的且具有很好的彈性
          ??包配置使你能編輯你的包的屬性、變量、連接和你的控制流的其他屬性,需要注意的是,你不能編輯你的數(shù)據(jù)流組件的屬性
          ??
          ??在菜單條上,單擊DTS, Package Configurations… 或者在控制流設(shè)計(jì)面板右鍵選擇Package Configurations….
          ??然后在包配置中允許包配置選擇,并單擊添加
          ??在單擊過后出現(xiàn)一個(gè)歡迎屏幕并讓你選擇配置類型,當(dāng)前選擇XML Configuration File
          ??然后鍵入配置文件名,如C:\PackageConfigurations\Environment.dtsConfig,單擊下一步
          ??然后在對(duì)象樹瀏覽中選擇Connections.Destination.Properties的InitialCatalog 和 ServerName屬性,然后單擊下一步
          ??給你的配置一個(gè)名字,這樣整個(gè)過程就完成了
          ??
          這樣你的包將在運(yùn)行期間獲得2個(gè)屬性的值,你打開XML配置文件,你將看得這些你需要?jiǎng)討B(tài)改變屬性的當(dāng)前值??

          現(xiàn)在,你可以非常容易的遷移包到另一個(gè)新的環(huán)境,而你只須改變你的包配置文件(C:\PackageConfigurations\Environment.dtsConfig)即可


          英文來源:http://www.sqlis.com/default.aspx?26

          posted on 2007-02-14 10:51 渠上月 閱讀(257) 評(píng)論(0)  編輯  收藏 所屬分類: sql (sqlServer)
          主站蜘蛛池模板: 辽宁省| 全椒县| 德清县| 旅游| 广宗县| 佳木斯市| 黑水县| 诸城市| 岚皋县| 永嘉县| 乐陵市| 南雄市| 秦皇岛市| 博罗县| 永靖县| 体育| 华亭县| 岢岚县| 宝清县| 锡林郭勒盟| 普定县| 安顺市| 石台县| 敦化市| 梨树县| 镇巴县| 修武县| 苍梧县| 阿鲁科尔沁旗| 南靖县| 兰州市| 蕲春县| 博客| 仪征市| 怀化市| 闸北区| 聊城市| 武宣县| 汶川县| 酒泉市| 彰武县|