zoukankan      html  css  js  c++  java
  • 今日遇到了困难,顺便看了下SMO

    C# 如何获取本地数据库SQL Server2008的数据库服务器名称和数据库名称?不知道为什么我的Win7就是注册不了sqldmo.dll,经过学习,基本可以自己使用SMO解决这些问题。

    我在百度中找到了这个问题的答案,不过不知道为什么我的Win7就是注册不了sqldmo.dll,因此无法引用SQL Distributed Management Objects。

    问题关键是我安装的是SQL2008EXPRESS版本没有安装SQL2000的企业版附带不了这个COM组件,也不想安装2000,解决不了问题很纠结。因此我就看了下MSDN,里面说SQLDMO已经被SMO取代了,所以附带的看了下,SMO,太菜只是知道了怎么使用SMO来控制数据库的简单操作。现在晚上,修改下内容,我已经基本了解SMO的用法了,以后共享给和我一样的新手,谢谢大家的帮助,对了要是谁还用SQLMDO.DLL,下面的代码可以借鉴一下:

     1 使用 SQLDMO(SQL Distributed Management Objects,SQL分布式管 理对象)。
    2 添加引用->COM里面
    3 //得到所有本地网络中可使用的SQL服务器列表。
    4 SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass();
    5 SQLDMO.NameList sqlServers = sqlApp.ListAvailableSQLServers();
    6 for(int i=0;i<sqlServers.Count;i++)
    7 {
    8 object srv = sqlServers.Item(i + 1);
    9 if(srv != null)
    10 {
    11 this.cboServers.Items.Add(srv);
    12 }
    13 }
    14 if(this.cboServers.Items.Count > 0)
    15 this.cboServers.SelectedIndex = 0;
    16 else
    17 this.cboServers.Text = "<No available SQL Servers>";
    18
    19
    20 //得到指定SQL服务器所有数据库的列表
    21 SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass();
    22 SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();
    23 srv.Connect(this.cboServers.SelectedItem.ToString(),this.txtUser.Text,this.txtPassword.Text);
    24 foreach(SQLDMO.Database db in srv.Databases)
    25 {
    26 if(db.Name!=null)
    27 this.cboDatabase.Items.Add(db.Name);
    28 }



    //下面是SMO的项目创建部分,就我不知道,所以记下来,给比我还新的新手看看,不过我也发现这个必须结合.NET3.5以上的版本的LINQ支持

    在 Visual Studio .NET 中创建 Visual C# SMO 项目

    本节介绍了如何生成简单的 SMO 控制台应用程序。

    此示例导入命名空间,这样,程序即可以引用 SMO 类型。可以选择导入 Agent 命名空间。当编写使用 SQL Server 代理的程序时使用此命名空间。需要使用 Common 命名空间来建立与 SQL Server 实例的安全连接。使用 SqlClient 命名空间处理 SQL 异常错误。

    在 Visual Studio .NET 中创建 Visual C# SMO 项目

    启动 Visual Studio 2008(或 Visual Studio 2005)。

    文件菜单上,单击新建项目。此时将显示新建项目对话框。

    项目类型对话框中,选择“Visual C#”,然后选择“Windows”。在“Visual Studio 已安装的模板窗格中,选择“Windows 应用程序

    (可选)在名称字段中,键入新应用程序的名称。

    选择 Visual C# 应用程序类型。在下面的示例中,请选择控制台应用程序

    项目菜单上,选择添加引用。此时将显示添加引用对话框。

    单击浏览,在 C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\ 文件夹中找到 SMO 程序集,然后选择下列文件。这些文件是构建一个 SMO 应用程序至少需要的文件:

    Microsoft.SqlServer.ConnectionInfo.dll

    Microsoft.SqlServer.Smo.dll

    Microsoft.SqlServer.Management.Sdk.Sfc.dll

    Microsoft.SqlServer.SqlEnum.dll

    注意

    使用 Ctrl 键可选择多个文件。

    添加需要的任何其他 SMO 程序集。例如,如果您要专门对 Service Broker 进行编程,则可以添加以下程序集:

    Microsoft.SqlServer.ServiceBrokerEnum.dll

    单击打开

    视图菜单中,单击代码。或者选择“Program1.cs [设计窗口,然后双击 Windows 窗体以显示代码窗口。

    在代码的命名空间语句前,键入以下 using 语句,以限定 SMO 命名空间中的类型:

    using Microsoft.SqlServer.Management.Smo;

    using Microsoft.SqlServer.Management.Common;

    SMO 在 Microsoft.SqlServer.Management.Smo 下具有各种命名空间,如 Microsoft.SqlServer.Management.Smo.Agent。请根据需要添加这些命名空间。

    您可以立即添加 SMO 代码。

     

     

  • 相关阅读:
    Unix命令大全
    vs2008 与 IE8出现的兼容性问题
    Java 创建文件、文件夹以及临时文件
    如何修改Wamp中mysql默认空密码
    PAT 乙级真题 1003.数素数
    Tags support in htmlText flash as3
    DelphiXE4 FireMonkey 试玩记录,开发IOS应用 还是移植
    10 Great iphone App Review sites to Promote your Apps!
    HTML tags in textfield
    Delphi XE4 IOS 开发, "No eligible applications were found“
  • 原文地址:https://www.cnblogs.com/rohelm/p/2421220.html
Copyright © 2011-2022 走看看