ASP编程:巧用SQL-DMO创立备份及校验的ASP使用
强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。sql|备份|创立<Pstyle="TEXT-INDENT:2em">概述<Pstyle="TEXT-INDENT:2em">SQL散布式办理工具(SQLDistributedManagementobjects,SQL-DMO)为开辟者供应了利用程序和剧本言语实行一般义务的办法,从而扩大了SQLServer功效。本文议论怎样奇妙的使用SQL-DMO创立数据库备份和校验的ASP使用。<Pstyle="TEXT-INDENT:2em">条件<Pstyle="TEXT-INDENT:2em">你必要有SQLServer数据库备份的相干常识。别的还要在global.asa文件中到场SQL-DMO库的援用。以下是SQLServer2000的援用:<Pstyle="TEXT-INDENT:2em"><!--METADATATYPE="TypeLib"NAME="MicrosoftSQLDMOObjectLibrary"UUID="{10010001-E260-11CF-AE68-00AA004A34D5}"VERSION="8.0"--><Pstyle="TEXT-INDENT:2em">本文示例代码合用于SQL7.0,MSDE,和SQLServer2000。<Pstyle="TEXT-INDENT:2em">喜与忧<Pstyle="TEXT-INDENT:2em">利用SQL-DMO工具让人且喜且忧。它供应了十分丰厚的功效,以致于不知该怎样利用。本文只会商示例触及的工具属性和办法。你能够在SQLServer在线教授教养上找到很多相干信息。<Pstyle="TEXT-INDENT:2em">SQLDMO.SQLServer<Pstyle="TEXT-INDENT:2em">用于毗连SQLServer数据库:<Pstyle="TEXT-INDENT:2em"><%DimsrvSetsrv=Server.CreateObject("SQLDMO.SQLServer")srv.LoginTimeout=15srv.Connect"servername","username","password"%><Pstyle="TEXT-INDENT:2em">这里经由过程代进用户名和口令来毗连SQLServer数据库。假如要利用NT的身份认证,就将它的LoginSecure属性设为真(TRUE),疏忽代进的用户名和口令,而利用NT的注册信息。<Pstyle="TEXT-INDENT:2em">SQLDMO.Database<Pstyle="TEXT-INDENT:2em">列出服务器中的数据库。在本文示例中,对列出的数据库举行备份。上面的代码将服务器中的数据库列于下拉菜单:<Pstyle="TEXT-INDENT:2em"><%DimsrvDimobjDBSetsrv=Server.CreateObject("SQLDMO.SQLServer")srv.LoginTimeout=15srv.Connect"servername","username","password"SetobjDB=Server.CreateObject("SQLDMO.Database")%><SELECTname="fdatabase"><%ForEachobjDBInsrv.DatabasesIfobjDB.SystemObject=FalseThen%><OPTION><%=objDB.Name%></OPTION><%EndIfNext%></SELECT><Pstyle="TEXT-INDENT:2em">SQLDMO.BackupDevice<Pstyle="TEXT-INDENT:2em">列出服务器上安装的备份安装。我倡议利用备份安装来备份数据库。由于如许可使用SQL-DMO的校验功效来校验备份情形。上面的代码列出服务器上的备份安装:<Pstyle="TEXT-INDENT:2em"><%DimsrvDimobjDeviceSetsrv=Server.CreateObject("SQLDMO.SQLServer")srv.LoginTimeout=15srv.Connect"servername","username","password"SetobjDevice=Server.CreateObject("SQLDMO.BackupDevice")ForEachobjDeviceInsrv.BackupDevicesResponse.WriteobjDevice.Name+"<BR>"Next%><Pstyle="TEXT-INDENT:2em">SQLDMO.Backup<Pstyle="TEXT-INDENT:2em">这就是我们要用到的备份中心工具。它有很多属性,让我们作到与企业版SQL办理器一样程度的备份。先会商一下本文示例用到的属性。<Pstyle="TEXT-INDENT:2em">BackupSetName-备份文件名。<Pstyle="TEXT-INDENT:2em">Database-要备份的数据库。<Pstyle="TEXT-INDENT:2em">Action-全体或增量备份。另有其他选项,不外示例中只用到这二个。<Pstyle="TEXT-INDENT:2em">BackupSetDescription-备份申明。<Pstyle="TEXT-INDENT:2em">Files-文件备份选项。标明备份文件的路径和名字,如:C:pubs.bak。利用文件备份时,上面的备份安装名要设置为空。<Pstyle="TEXT-INDENT:2em">Devices-服务器上的备份安装。假如利用备份安装,下面的文件备份选项要设置为空。<Pstyle="TEXT-INDENT:2em">TruncateLog-备份日记选项。其选项有:<Pstyle="TEXT-INDENT:2em">NoLog-不备份买卖日记。<Pstyle="TEXT-INDENT:2em">NoTruncate-备份买卖日记。日记里供应工夫标志。<Pstyle="TEXT-INDENT:2em">Truncate-备份买卖日记,但不保存买卖记录。<Pstyle="TEXT-INDENT:2em">Initialize-如设置为真(True),该备份安装将代替其他备份前言而成为首选。<Pstyle="TEXT-INDENT:2em">以下是示例中的backup.asp文件:<Pstyle="TEXT-INDENT:2em"><%@Language=VBScript%><HTML><BODY><!--containsallthelogininformation--><!--#includefile=login.asp--><%DimobjBackup创立备份工具setobjBackup=Server.CreateObject("SQLDMO.Backup")设置属性objBackup.BackupSetName=Request("fname")objBackup.Database=Request("fdatabase")objBackup.Action=Request("fAction")objBackup.BackupSetDescription=Request("fdescription")objBackup.Files=Request("fbackupfile")objBackup.Devices=Request("fdevice")objBackup.TruncateLog=Request("flog")objBackup.Initialize=Request("finit")备份数据库objBackup.SQLBackupsrv断开与服务器的毗连srv.disconnect开释setsrv=nothingsetobjBackup=Nothing%><P>Thebackupwasstarted,usethe<AHREF="devices.asp">verify</A>optiontoseeifitcompletedsuccessfully.<AHREF="default.asp">Clickhere</A>toreturn.</P></BODY></HTML><Pstyle="TEXT-INDENT:2em">备份校验<Pstyle="TEXT-INDENT:2em">假如用VB或C++编程,能够用事务触发来校验备份历程,但在ASP中不可。我们用SQLDMO.BackupDevice工具的ReadBackupHeader办法来确认备份是不是乐成。<Pstyle="TEXT-INDENT:2em">上面是verify.asp文件代码,它列出备份安装名字并供应比来备份的有关信息。<Pstyle="TEXT-INDENT:2em"><%@Language=VBScript%><HTML><BODY><!--Logininformation--><!--#includefile=login.asp--><P><%DimobjDeviceDimobjResultsDimiCountDimxCount创立备份安装工具SetobjDevice=Server.CreateObject("SQLDMO.BackupDevice")轮回直到找到婚配的安装ForEachobjDeviceInsrv.BackupDevicesIfobjDevice.Name=Request("fname")Then找到婚配安装,入手下手读取了局SetobjResults=objDevice.ReadBackupHeaderForiCount=1ToobjResults.RowsForxCount=1ToobjResults.Columns%><B><%=objResults.ColumnName(xcount)%></B>:<%=objResults.GetColumnString(icount,xcount)%><br><%Next%><HR><%Next%><%EndIf%><%Next%><%srv.Disconnectsetsrv=nothingsetobjDevice=nothingsetobjResults=nothing%></BODY></HTML><Pstyle="TEXT-INDENT:2em">ReadBackupHeader办法前往QueryResults工具。用其Rows属性能够失掉备份的记录数。然后对每行记录作列信息搜刮。<Pstyle="TEXT-INDENT:2em">其他功效SQL-DMO还供应远程备份和恢复功效。本文没有触及数据库恢复,但SQL-DMO有很强的恢复功效。只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
页:
[1]