国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

MTS管理自動(dòng)化

2019-11-18 17:49:22
字體:
供稿:網(wǎng)友
MTS(MicrosoftTransactinServer)是構(gòu)筑安全、穩(wěn)定的INTERNET/INTRANET應(yīng)用的基礎(chǔ),在引進(jìn)事務(wù)的概念后,你不用擔(dān)心你的應(yīng)用在崩潰時(shí)造成數(shù)據(jù)的不完整性。
asp中可以方便地應(yīng)用MTS,你可以編寫支持MTS的組件,然后注冊(cè)到MTS中。前提是你必須啟動(dòng)DTC(分布式事務(wù)管理器)服務(wù)。注冊(cè)MTS組件是個(gè)比較麻煩的過程,特別是當(dāng)你必須在多臺(tái)機(jī)器上進(jìn)行的時(shí)候,但幸虧MTS提供了管理對(duì)象,你可以通過編寫簡單的程序來自動(dòng)地注冊(cè)。下面這段拷自MTS文檔:

MTS管理自動(dòng)化的VisualBasic示例應(yīng)用程序

VisualBasic5.0版的示例應(yīng)用程序演示了如何使用Catalog、CatalogObject以及CatalogCollections對(duì)象的方法來自動(dòng)完成對(duì)一個(gè)名為““腳本化的管理示例”的軟件包的基本管理功能。

注意必須將您的VisualBasic工程配置為可以引用MTS管理類型庫(MTSAdmin類型庫)。要引用MTSAdmin類型庫,請(qǐng)從VisualBasic工程工具欄中選擇“引用”選項(xiàng)。然后查找“MTS2.0管理類型庫”可引用文件。對(duì)于后期綁定的變量(在運(yùn)行程序時(shí)才綁定),如果MTXADMIN.DLL文件已在本地機(jī)器上注冊(cè),則VisualBasic只記錄類型庫的位置,而不進(jìn)行進(jìn)一步的配置。

刪除已有的名為“Scr填充這個(gè)Packages集合,讀入所有軟件包并查找“ScriptableAdminDemo”軟件包,從而獲得該軟件包的已有版本。枚舉該集合,在最高索引開始,就可以在循環(huán)內(nèi)部調(diào)用Remove方法。Remove方法負(fù)責(zé)釋放該對(duì)象,從集合中刪除該對(duì)象,以及移動(dòng)集合中的對(duì)象,使第(n 1)個(gè)對(duì)象變?yōu)榈?n)個(gè)對(duì)象,這里的n大于或等于正在被刪除的索引。集合對(duì)象的Remove方法是立即生效的。在Remove方法之后的任何時(shí)刻調(diào)用Item和Count方法都將反映出索引的變化。不過,對(duì)軟件包的刪除要直到調(diào)用SaveChanges方法后才會(huì)反映到目錄上(請(qǐng)參閱第4步)。


packages.Populate
DimpackAsObject
n=packages.Count
Fori=n-1To0Step-1
Ifpackages.Item(i).Value("Name")="ScriptableAdminDemo"Then
packages.Remove(i)
EndIf
Next
調(diào)用SaveChanges方法來保存對(duì)數(shù)據(jù)的更改。

packages.SaveChanges

》創(chuàng)建一個(gè)新的名為“ScriptableAdminDemo”的軟件包

使用Add方法添加一個(gè)軟件包,注意要指定軟件包標(biāo)識(shí)符。Add方法將該對(duì)象添加到集合,但要到調(diào)用SaveChanges方法后才會(huì)將該變化應(yīng)用到目錄(請(qǐng)參閱第3步)。注意Add方法將把所有屬性設(shè)為默認(rèn)值。默認(rèn)的標(biāo)識(shí)符是一個(gè)新的具唯一性的標(biāo)識(shí)符。

DimnewPackAsObject
DimnewPackIDAsVariant
SetnewPack=packages.Add
newPackID=newPack.Value("ID")

》更新Name和SecurityEnabled屬性。

newPack.Value("Name")="ScriptableAdminDemo"
newPack.Value("SecurityEnabled")="N"
調(diào)用SaveChanges方法將這個(gè)新的軟件包保存到目錄。該調(diào)用的返回值是更改、添加或刪除的對(duì)象數(shù)目。如果沒有發(fā)生改變,該方法返回0。

n=packages.SaveChanges
更新“ScriptableAdminDemo”軟件包的屬性以及獲取ComponentsInPackage集合。

調(diào)用PopulateByKey方法,從目錄讀入該軟件包。這需要傳遞一個(gè)包含用來讀入的關(guān)鍵字的數(shù)組。在示例代碼中,使用了一個(gè)包含單個(gè)元素(剛創(chuàng)建的軟件包的標(biāo)識(shí)符)的數(shù)組。

Dimkeys(0)asVariant
keys(0)=newPackId
packages.PopulateByKeykeys
從集合中獲取該軟件包對(duì)象

DimpackageAsObject
Setpackage=packages.Item(0)
更新軟件包的SecurityEnabled屬性。

package.Value("SecurityEnabled")="Y"
調(diào)用GetCollection方法來取得ComponentsInPackage集合。將“ScriptableAdminDemo”軟件包的關(guān)鍵字作為其中一個(gè)參數(shù)。

Setcomponents=packages.GetCollection("ComponentsInPackage",_package.Key)
調(diào)用SaveChanges方法將更改保存到目錄。


packages.SaveChanges

》安裝一個(gè)組件到“ScriptableAdminDemo”軟件包:

調(diào)用GetUtilInterface方法來獲取組件實(shí)用程序?qū)ο?。一般使用該?duì)象來安裝組件。


DimutilAsObject
Setutil=components.GetUtilInterface
OnErrorGoToinstallFailed
調(diào)用InstallComponent方法,用一個(gè)字符串傳遞包含要安裝組件的動(dòng)態(tài)鏈接庫(DLL)的名字。如果該組件沒有一個(gè)外部類型庫或
util.InstallComponentthePath,"",""
DiminstalledCLSIDs()asVariant
util.GetCLSIDsthePath,"",installedCLSIDs
OnErrorGoTo0
調(diào)用PopulateByKey方法讀回剛安裝的組件。注意通過InstallComponent方法安裝到軟件包的組件在調(diào)用Populate或PopulateByKey方法從該目錄中讀回?cái)?shù)據(jù)之前,在集合中是不可見的。

components.PopulateByKeyinstalledCLSIDs

》從“ScriptableAdminDemo”軟件包中查找并刪除Bank.CreateTable組件:

逐個(gè)列枚組件,并使用Item和Count方法更改事務(wù)屬性。


DimcomponentAsObject
n=components.Count
Fori=n-1To0Step-1
Setcomponent=components.Item(i)
component.Value("Transaction")="Required"
按索引查找并刪除Bank.CreateTable組件。注意,為了在循環(huán)中能調(diào)用Remove方法,必須向后逐個(gè)枚舉集合中的對(duì)象。


Ifcomponent.Value("ProgID")="Bank.CreateTable"Then
components.Remove(i)
EndIf
Next
取得一個(gè)新的計(jì)數(shù),并再次枚舉集合。注意要到調(diào)用SaveChanges方法后,才會(huì)從數(shù)據(jù)存儲(chǔ)中刪除Bank.CreateTable組件。如果安裝成功,則顯示一個(gè)消息框通知用戶。


n=components.Count
Fori=0Ton-1
Setcomponent=components.Item(i)
Debug.Printcomponent.Value("ProgID")
Debug.Printcomponent.Value("DLL")
Next

n=components.SaveChanges
MsgBox"ScriptableAdminDemopackageinstalledandconfigured."
ExitSub

installFailed:
MsgBox"Errorcode" Str$(Err.Number) "installing" thePath "MakesuretheMTSpathyouenterediscorrectandthatvbacct.dllisnotalreadyinstalled."
EndSub->


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 平和县| 高州市| 游戏| 五大连池市| 阿城市| 临汾市| 玛多县| 大同县| 兴化市| 莲花县| 徐汇区| 信阳市| 淮滨县| 吕梁市| 聂拉木县| 拜泉县| 永寿县| 湖南省| 青州市| 巴彦淖尔市| 余江县| 文山县| 额尔古纳市| 西充县| 桃园县| 成安县| 望奎县| 潜山县| 铜陵市| 峡江县| 永年县| 鄯善县| 丽水市| 文化| 铜川市| 镶黄旗| 招远市| 左云县| 本溪市| 本溪市| 海盐县|