sqldmo(sql distributed management objects,sql分布式管理对象)封装 microsoft sql server 2000 数据库中的对象。sql-dmo 允许用支持自动化或 com 的语言编写应用程序,以管理 sql server 安装的所有部分。sql-dmo 是 sql server 2000 中的 sql server 企业管理器所使用的应用程序接口 (api);因此使用 sql-dmo 的应用程序可以执行 sql server 企业管理器执行的所有功能。
sql-dmo 用于必须包含 sql server 管理的任何自动化或 com 应用程序,例如:
1. 封装 sql server 作为自己的数据存储并想尽量减少用户的 sql server 管理任务的应用程序。
2. 在程序本身并入了专门的管理逻辑的应用程序。
3. 想在自己的用户界面中集成 sql server 管理任务的应用程序。
sqldmo对象来自sqldmo.dll,sqldmo.dll是随sql server2000一起发布的。sqldmo.dll自身是一个com对象,因此,在你的.net项目里必须先引用它。
得到网络中的sql服务器的列表:
得到sql服务器的列表 必须安装sql server 2000 sp2 及以上版本
dim i as short dim sqlapp as new sqldmo.application() dim servername as sqldmo.namelist servername = sqlapp.listavailablesqlservers for i = 1 to servername.count cbserver.items.add(servername.item(i)) next |
得到指定sql服务器所有数据库的列表:
得到指定sql服务器所有数据库的列表
dim sqlapp as new sqldmo.application() dim oserver as new sqldmo.sqlserver() oserver.connect(“(local)”, “sa”, “sa”) cbodatabase.items.clear() dim db as sqldmo.database for each db in oserver.databases me.cbodatabase.items.add(db.name) next |
得到所有的表、视图、存储过程:
dim i as short dim oserver as new sqldmo.sqlserver() oserver.connect(“(local)”, “sa”, “sa”) dim db as new sqldmo.database()
for i = 1 to oserver.databases.count if oserver.databases.item(i, “dbo”).name = “northwind” then exit for next if i > oserver.databases.count then exit sub
db = oserver.databases.item(i, “dbo”) listbox1.items.clear() 得到所有的存储过程 for i = 1 to db.storedprocedures.count listbox1.items.add(db.storedprocedures.item(i, “dbo”).name) next 得到所有的表 for i = 1 to db.tables.count listbox1.items.add(db.tables.item(i, “dbo”).name) next 得到所有的视图 for i = 1 to db.views.count listbox1.items.add(db.views.item(i, “dbo”).name) next |
利用sqldmo实现带进度条的数据库备份:
添加进度条progressbar1控件 引用microsoft sqldmo object library 声明
public withevents bkps as sqldmo.backup
数据库备份操作 private sub btnbackup_click(byval sender as system.object, byval e as system.eventargs) handles btnbackup.click dim osqlserver as new sqldmo.sqlserver() osqlserver.loginsecure = false osqlserver.connect(“(local)”, “sa”, “sa”) 连接服务器 me.cursor = windows.forms.cursors.waitcursor bkps = createobject(“sqldmo.backup”) bkps.database = “northwind” 指定需备份的数据库 bkps.action = 0 bkps.files = “f:\northwind.bak” 指定备份文件 bkps.initialize = true progressbar1.value = 0 progressbar1.maximum = 100 me.cursor = windows.forms.cursors.default() application.doevents() dim mousecur as cursor me.cursor = windows.forms.cursors.waitcursor bkps.sqlbackup(osqlserver) progressbar1.value = 100 application.doevents() bkps = nothing me.cursor = windows.forms.cursors.default() msgbox(“数据库备份完成”, msgboxstyle.information, “系统消息”) end sub
显示进度
private sub bkps_percentcomplete(byval message as string, byval percent as integer) handles bkps.percentcomplete progressbar1.value = progressbar1.maximum * (percent / 100) end sub |
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:
IDC资讯中心 »
在VB.NET中应用SQLDMO-.NET教程,VB.Net语言