欢迎光临
我们一直在努力

在VB.NET中应用SQLDMO-.NET教程,VB.Net语言

建站超值云服务器,限时71元/月

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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 在VB.NET中应用SQLDMO-.NET教程,VB.Net语言
分享到: 更多 (0)