`
bolutes
  • 浏览: 889985 次
文章分类
社区版块
存档分类
最新评论

在VB.NET中应用SQLDMO

 
阅读更多
SQLDMOSQL Distributed Management ObjectsSQL分布式管理对象)封装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.dllSQLDMO.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
[注意]
如果执行时提示错误 "接口 SQLDMO.NameList 的 QueryInterface 失败",请检查你的SQL Server版本及补丁安装情况。
建议使用SQL Server2000以上版本,补丁为SP3以上
查看SQL Server版本及补丁情况,请参与:http://blog.csdn.net/sxycgxj/archive/2006/09/27/1292228.aspx
分享到:
评论

相关推荐

    VB6.0与SQLDMO联合使用

    - 在VB6.0中,开发者可以创建一个新项目,然后导入SQLDMO的类型库,以便在VB中使用SQLDMO对象。 - 通过设置SQLDMO的Server对象,可以连接到SQL Server实例,执行登录、查询、更新、删除等操作。 - 例如,可以使用...

    Interop.SQLDMO.dll 使用示例

    在.NET环境中,与旧版Microsoft SQL Server 2000进行交互时,开发人员经常会使用一个名为SQLDMO(SQL Server Database Management Objects)的库。这个库提供了对SQL Server的各种管理功能的编程接口,允许开发者...

    在没有安装SQL的机器上注册SQLDMO.dll

    在没有安装SQL Server的计算机上,如果你需要使用SQLDMO进行开发或管理工作,可能面临无法直接注册的问题。本文将详细介绍如何在没有安装SQL Server的情况下注册SQLDMO.dll,并提供必要的组件和方法。 首先,你需要...

    vb2005+sqlserver登陆

    在这个特定的案例中,"vb2005+sqlserver登陆" 提供了一个基础的VB.NET(VB 2005)应用程序,该程序可能用于实现用户登录功能,并与SQL Server 2005数据库进行交互验证用户凭证。 VB 2005是.NET Framework 2.0的一...

    Interop.SQLDMO 接口

    在ASP.NET中使用Interop.SQLDMO时,首先需要在项目中引用SQLDMO的COM组件,然后就可以通过C#或VB.NET代码调用其提供的方法。例如: ```csharp using Microsoft.SqlServer.Dmo; // 创建SQLDMO的服务器实例 Server ...

    SQLDMO(64位)

    这个接口在SQL Server早期版本中广泛使用,允许开发者通过编写脚本或应用程序来执行数据库管理任务,如备份、恢复、监控等。然而,随着技术的发展,SQLDMO逐渐被更现代的SMO(SQL Server Management Objects)所取代...

    vb_sql数据库维护 源码

    通过分析和学习这些代码,可以深入理解如何在VB中操作SQL数据库,以及如何处理SQLDMO可能出现的问题。这不仅有助于提升数据库管理技能,也有利于解决实际项目中遇到的类似挑战。在实际应用中,开发者还需要注意代码...

    sqldmo.dll

    此外,SQLDMO支持多种编程语言,如VBScript、Visual Basic、C++和VB.NET,这使得非程序员也能通过脚本语言进行数据库管理。 然而,随着技术的发展,SQLDMO已经被更现代的SMO(SQL Server Management Objects)所...

    利用Vb创建SQL SERVER的管理应用软件.pdf

    在VB中,与数据库相关的对象有DAO(数据访问对象)、RDO(远程数据对象)、ADO(活动数据对象)和SQLDMO(SQL数据管理对象)。这些对象帮助开发者对数据库进行各种操作,如数据存取、维护、备份等。 4. ADO与SQLDMO...

    SQLDMO 安装程序

    5. 完成安装后,开发者可以在他们的应用程序中引用SQLDMO相关的COM组件,开始编写代码来与SQL Server进行交互。 使用SQLDMO进行编程时,需要注意以下几点: - SQLDMO中的每个主要服务(如SQLServer、Database、...

    .NET中数据备份,

    在.NET框架中,数据备份是一项关键的技术,尤其是在企业级应用中,确保数据的安全性和完整性至关重要。根据提供的代码片段,我们可以提炼出以下几点重要的知识点: ### 1. 使用配置管理读取连接字符串 代码中使用...

    SQLDMO.dll 用来获取局域网内所有开启的SQL服务器列表

    SQLDMO(SQL Server Desktop Engine Objects)是微软提供的一个旧版的编程...尽管现在有了SMO这样的新选择,但SQLDMO在某些情况下仍有其独特的价值和应用。开发者在使用时应考虑其局限性和替代方案,以便做出最佳决策。

    asp.net页面实现Excel数据导入SqlServer

    本文将详细讲解如何使用ASP.NET、Excel组件和SQLDMO库来实现这个功能,同时也会提及第三方控件uploadify在文件上传中的应用。 首先,我们需要一个用户界面让用户能够上传Excel文件。这通常可以通过ASP.NET的...

    asp.net数据库备份的方式

    在ASP.NET应用中,可以通过调用SQL Server的管理对象(SQLDMO)来实现数据库备份的功能。这种方法适用于需要频繁备份数据库的应用场景。 **代码示例:** ```csharp public static string DbBackup(string dbName, ...

    最新SQLDMO

    在本例中,用户需要将替换后的SQLDMO.DLL文件放置到正确的系统目录(通常是`C:\Windows\System32`),然后打开命令提示符,以管理员权限运行,输入`regsvr32 SQLDMO.DLL`命令,执行该命令会尝试注册这个DLL文件,...

    aspnet4.chm帮助文档

    在Asp.net中如何用SQLDMO来获取SQL Server中的对象信息 在Asp.net中如何用SQLDMO来获取SQL Server中的对象信息

    2008 安装 sqldmo.dll

    第二步:打开开始,在运行中输入 regsvr32 "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqldmo.dll" 注册sqldmo.dll。 正常情况下,经过以上两个步骤,网页就应该可以访问了的。 但是我们经过以上两次...

    注册引用SQLDMO.dll

    SQLDMO,全称为SQL Server Data Management Objects,是微软提供的一种旧版的API,用于管理和操作SQL Server数据库。...在实际应用中,要确保理解所有操作的后果,并做好充分的测试,以免对生产环境造成影响。

    在无sql的机子注册SQLDMO.dll

    在没有SQL Server的系统上注册SQLDMO.dll是为了能够利用这个接口在应用程序中与远程SQL Server进行通信。 描述中的"ESC打印指令集"可能是指在编程或脚本中使用ASCII码的27(ESC)字符来发送控制指令给打印机,这些...

    基于Sqldmo的SQL数据备份恢复c#程序

    在C#中使用SQLDMO,你需要引用相关的COM组件,并且需要对.NET Framework和C#有深入的理解,以便正确地创建和实例化SQLDMO对象,调用其方法来完成任务。 首先,要实现数据备份,你需要创建一个`Server`对象,然后...

Global site tag (gtag.js) - Google Analytics