///IConnection用于表示到數(shù)據(jù)源或數(shù)據(jù)目標(biāo)的連接///publicinterface" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

DTS開發(fā)記錄(3)-- 連接與連接對

系統(tǒng) 1930 0

DTS開發(fā)記錄(2)-- 數(shù)據(jù)管道及插件 一文中,我們介紹了數(shù)據(jù)管道,IDataPipeFactory的CreateDataPipe方法需要一個IConnection參數(shù),這個參數(shù)就表示一個連接。

public IDataPipeCreateDataPipe(IConnectionconn)

IConnection的定義如下:

/// <summary>
/// IConnection用于表示到數(shù)據(jù)源或數(shù)據(jù)目標(biāo)的連接
/// </summary>
public interface IConnection
{
ConnectionTypeConnectionType{
get ;}
string ConnectionText{ get ;}
string PKeyName{ get ; set ;}
}

public enum ConnectionType
{
DataBase,File
}

無論該連接是指向數(shù)據(jù)庫的一個表還是某個結(jié)構(gòu)化的文件,都需要設(shè)定一個主鍵名稱,設(shè)定該主鍵名稱的作用在于兩個方面:
(1)用于分頁(有的數(shù)據(jù)庫可能不需要知道主鍵就可以分頁,比如Oracle)
(2)用于增量導(dǎo)出。

到目前為止,連接分為兩種類型--數(shù)據(jù)庫類型和文件類型。對于數(shù)據(jù)庫類型的連接,可以用連接字符串來標(biāo)志;對于文件類型的連接,可以使用文件路徑來標(biāo)志。
我們知道,數(shù)據(jù)庫分為不同的類型,這是由DataBaseType標(biāo)志的;那么,文件也有不同的類型,比如.Xml、.Txt等,怎么區(qū)分它們了?是的,使用文件的擴展名,因為同一類型的文件的擴展名是相同的。所以,我們看到FileConnection有個ExtendName屬性。
ConnectionText屬性,就像ToString()方法一樣,這樣當(dāng)我們需要在UI上顯示IConnection時,可以取用其ConnectionText屬性的值。對于文件類型的連接,它將返回文件路徑;對于數(shù)據(jù)庫類型的連接,它將返回連接字符串及目標(biāo)數(shù)據(jù)表的名字。
下面是FileConnection和DatabaseConnection的類圖:

DTS開發(fā)記錄(3)-- 連接與連接對

講到這里,我可以大致說一下IDataPipeFactory創(chuàng)建數(shù)據(jù)管道的過程。首先,從IConnection中獲取ConnectionType,如果是文件類型,則將之向下轉(zhuǎn)換到FileConnection,然后得到ExtendName屬性,最后在數(shù)據(jù)管道插件列表中尋找支持該ExtendName的數(shù)據(jù)管道插件。對于數(shù)據(jù)庫類型的IConnection,過程也是相似,只不過,它是依據(jù)DataBaseType來尋找對應(yīng)的數(shù)據(jù)管道插件。
如果和數(shù)據(jù)管道插件對照起來看,就更清楚了:
DTS開發(fā)記錄(3)-- 連接與連接對


連接對(ConnectionPair),一個連接對包含了一個數(shù)據(jù)源和一個數(shù)據(jù)目標(biāo)的連接信息。將連接對獨立出來的好處是,當(dāng)配置好一個連接對后,可以在不同的地方復(fù)用它,比如在編輯映射的時候、在數(shù)據(jù)驗證的時候、在數(shù)據(jù)傳送的時候等。
DTS開發(fā)記錄(3)-- 連接與連接對

使用ConnectionPair可以使我們的程序結(jié)構(gòu)非常的清晰,因為它抽象了底層的連接類型。但是,在通過界面來配置ConnectionPair時,就不那么容易了,你會迫不得已的遇到很多向下轉(zhuǎn)換,我正在思考一種解決方案來避免這種向下轉(zhuǎn)換。你有好的想法嗎?


轉(zhuǎn)到: DTS開發(fā)記錄(序)

DTS開發(fā)記錄(3)-- 連接與連接對


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 激情 婷婷| 福利午夜国产网站在线不卡 | 久久一区视频 | 女人寂寞偷人视频a级 | 欧美一区二区三区东南亚 | 久久久国产精品免费看 | 国产福利小视频在线观看 | 不卡免费播放 | 女人zzzooooxxxx | 欧美成人精品不卡视频在线观看 | 成人免费一级片 | 国产精品第页 | 91好色视频 | 欧美一级爱爱视频 | 亚洲欧洲国产精品你懂的 | 尹人视频在线观看 | 一本一本久久a久久精品综合 | 成人在线黄色 | 真人特级毛片免费视频 | 久久精品麻豆 | 久青草国产在视频在线观看 | 99热黄色| 久久思re热9一区二区三区 | 夜夜操天天摸 | 欧美性天天影院欧美狂野 | 精品一区二区三区四区乱码90 | 777kkk亚洲综合欧美色老头 | 婷婷激情在线视频 | 99久热只有精品视频免费看 | 亚洲成人免费看 | 国产精品久久久久免费a∨ 国产精品久久久久免费视频 | 亚洲在线观看一区 | 五月中文字幕 | 亚洲欧美综合在线观看 | 欧美视频日韩专区午夜 | 成人在线天堂 | 久久怡红院国产精品 | 2019精品国产品免费观看 | 国产99视频精品免视看9 | 久久精品国产一区二区三区肥胖 | 亚洲精品自拍视频 |