用VB和MTS開發多層資料庫應用系統

2021-04-17 08:52:29 字數 3594 閱讀 4972

用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.***,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 filepackages中,在該資料夾的client下自動生成了mtsdemo的客戶端安裝程式。在客戶機上執行client資料夾下的setup.exe檔案,再安裝客戶端程式即可執行。

分布式多層資料庫開發之DataSnap技術

多層分布式應用技術的關鍵是應用伺服器的開發 應用伺服器的開發步驟是 先建立應用程式,再在應用程式上建立遠端資料模組。做好應用伺服器之後,最後要註冊伺服器,執行一次便可以註冊 本地,網路不知道 工作流程 2.客戶程式向應用伺服器請求資料。3.應用程式伺服器收到客戶請求後,就從遠端資料庫伺服器 檢索資料...

SQL SERVER資料庫開發之儲存過程應用

序 可能有不少朋友使用sql server做開發也已經有段日子,但還沒有或者很少在專案中使用儲存過程,或許有些朋友認為根本沒有必要使用儲存過程等等。其實當你乙個專案做完到了維護階段時,就會發現儲存過程給我們帶來了好處了,修改方便,不能去改我們的應用程式,只需要改儲存過程的內容,而且還可以使我們的程式...

用邏輯資料庫開發HR報表

應用邏輯資料庫的好處不多說了,比如自帶選擇螢幕,自動許可權檢查,節約時間等等,其實我覺得邏輯資料庫好的地方還有那些小地方,比如很容易修改選擇屏 有進度提示等等。舉個簡單的例項,做乙個list。如果您有過hr開發經驗或者仔細看過hr350這門課,下面就不用看了。1,在程式屬性裡選擇邏輯資料庫pnp,螢...