时间: 2021-07-31 作者:daque
王莉梅 mts(microsoft transaction server)是微软为其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文献,再安置存户端步调即可运转。