MTS(Microsoft Transaction Server縮寫)

本詞條是多義詞,共12個義項
更多義項 ▼ 收起列表 ▲

MTS,Microsoft Transaction Server縮寫,用於在程式級進行事務操作多執行緒程式能夠使程式的不同部分同時運行。

基本介紹

  • 外文名:MTS
  • 全稱:Microsoft Transaction Server
  • 用途:用於在程式級進行事務操作多執行緒程式能夠使程式的不同部分同時運行
Windows*.Net*和XP*等作業系統和許多科學套用都是多執行緒程式。當創建套用時,開發人員必須創建代碼,以便執行緒能夠獨立運行,不互相干擾。
MTS
MTS仿真圖
是微軟為其Windows NT作業系統推出的一個中間件產品,由於它具有強大的分布事務支持、安全管理、資源管理和多執行緒並發控制等特性,使其成為在Windows平台上開發大型資料庫套用系統的首選產品
由於MTS禁止了底層實現的複雜性,極大地簡化了這類套用的開發,程式設計師可以將精力集中在業務邏輯上,因而有效地提高了軟體的開發效率。本文將通過實例介紹用VB和MTS開發多層資料庫套用系統的方法和步驟。
基於MTS開發多層資料庫套用系統的步驟是:第一步,開發MTS組件提供服務,程式設計師可以用任何一種支持COM的語言編寫MTS組件,如VB、VC、Delphi和COBOL等;第二步,分發MTS組件到MTS軟體包中,並且把MTS軟體包安裝到MTS環境之中;第三步,編寫客戶端程式調用執行在MTS環境之中的MTS組件,以取得服務。詳細開發過程如下:
1. 創建MTS組件
本例中我們將編寫一個MTS組件,運行於中間層的套用伺服器上,由它建立與資料庫伺服器的連線,完成對某課程的授課教師信息的查詢。
啟動Visual Basic,新建一ActiveX DLL項目。選擇工程選單,在引用視窗中選中Microsoft ActiveX Object Library 和Microsoft Transaction Sever Type Library。按“確定”將這兩項加到項目中。
從工程選單中選擇工程屬性,在通用選項中將項目名稱改為MtsDemo。執行緒模組選擇分部執行緒DLL,將類模組名稱改為Course,將下列程式加入類模組的通用聲明中:
Option Explicit
Public Function ListCourses( ByVal mcourse as String) As ADODB.Recordset
On Error GoTo ErrorHandle
Dim strSQL As String
Dim objContext As.ObjectContext
Set objContext = GetObjectContext()
' 建立事務性組件
Dim objADOConn As ADODB.Connection
' 利用ADO訪問資料庫
Dim objRS As ADODB.Recordset
Set objADOConn = New ADODB.Connection
With objADOConn
.connectiontimeout=10
.connectionstring="Provider=SQLOLEDB.1;UserID=sa;Initial Catalog=DBcourse"
' 通過OLEDB建立與資料庫的連線
.Open
End with
Set ObjRS = New ADODB.Recordset
StrSQL="SELECT
Teacher. name,Teacher.sex,Techer.age,Teacher. edu_level,Teacher.tiltle"
strSQL=strSQL&&" From Teacher,TeacherCourse,Courses "
strSQL=strSQL&& "Where Teacher.teacher_NO=TeacherCourse.teacher_no
and TeacherCourse.course_no=Courses.course_no
and Courses.course like'" && mCourse && "'"
'“like”關鍵字可實現模糊查詢
ObjRS.Open strSQL, ObjADOConn
' 進行資料庫查詢
Set ListCourses = ObjRS
ObjContext.SetComplte
' 若事務成功完成,則提交該事務
objADOConn.Close
Set objADOConn = Nothing
Set objRS=Nothing
strSQL = ""
'關閉資料庫連線,釋放所有對象
Exit Function
ErrorHandle:
ObjContext. SetAbort
Set ListCourses=Nothing
' 若事務失敗,則回滾事務
End Function
2. 註冊MTS組件
所有運行於伺服器端的ActiveX DLL都應在MTS中註冊,這是通過Transaction Server Explorer完成的。其過程如下:
(1)創建軟體包
軟體包是在同一進程中運行的組件集合,不同軟體包中的組件以進程隔離的方式運行在隔離的進程中。在創建軟體包時,開發者應儘量把共享資源的組件分配在同一軟體包內;考慮到軟體包中各個組件所共享的資源類型,可以把那些共享“昂貴”資源(如對某個特定資料庫的連線)的組件編為一組。
(2)向軟體包添加組件
在想安裝組件的包中選擇Component資料夾,單擊Install New Component(s) 按鈕,當提示添加檔案時找到新生成的MtsDemo.dll檔案將其加入。
3. 編寫客戶端程式
創建一個標準EXE項目。選擇工程選單,接著選擇引用,在引用視窗中選中剛才創建的MtsDemo,加入到項目中。
窗體中添加如下內容:
名稱 標題
標籤 label1 請輸入課程名:
文本框 txtcourse
命令按扭 cmdok 查詢
數據格線dgresult
再將下列程式加入通用聲明中:
Private Sub cmdOK_Click()
Dim rsResult As ADODB.Recordset
Dim objMts As Object
Dim mCourse As String
mCourse = Trim(txtCourse.Text)
Set objMts = CreateObject(mtsDemo.Course)
Set rsResult = objCourse.ListCourses(mCourse)
If rsResult.EOF Then
MsgBox ("無滿足條件的記錄!")
Exit Sub
End If
Set dgResult.DataSource = rsResult
Dgresult.Columns(0).Caption = "姓名"
Dgresult.Columns(1).Caption = "性別"
DgResult.Columns(2).Caption = "年齡"
Dgresult.Columns(3).Caption = "學歷"
DgResult.Columns(4).Caption = "職稱"
DgResult.Refresh
Set objMts = Nothing
End Sub
4. 運行客戶端
首先將編寫好的客戶端程式進行編譯發布,然後在Microsoft Management Console中找到新的軟體包,擊右鍵選擇導出,將它導出到c:\Program File\Packages中,在該資料夾的Client下自動生成了MtsDemo的客戶端安裝程式。在客戶機上運行Client資料夾下的Setup.exe檔案,再安裝客戶端程式即可運行

相關詞條

熱門詞條

聯絡我們