繁体   English   中英

在Microsoft.SqlServer.Management.Smo中找不到C#传输

[英]C# Transfer not found in Microsoft.SqlServer.Management.Smo

我在Windows .Net项目中将以下代码作为ac#类文件,以脚本出源SQL Server数据库中的所有数据库对象:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.SqlServer.Management.Smo;  

namespace ScriptDatabaseTransferSMO
{
    class SMOObjects
    {

      public static void ScriptDatabase()
        { 
        Server srv;
        srv = new Server();
        //Reference the AdventureWorks2012 database   
        Database db;
        db = srv.Databases["AdventureWorks2012"];  
        //Create a new database that is to be destination database.   
        Database dbCopy;
        dbCopy = new Database(srv, "AdventureWorks2012Copy");
        dbCopy.Create();  
       //Define a Transfer object and set the required options and 
        properties.   
        Transfer xfr;
        xfr = new Transfer(db);
        xfr.CopyAllTables = true;  
        xfr.Options.WithDependencies = true;  
        xfr.Options.ContinueScriptingOnError = true;  
        xfr.DestinationDatabase = "AdventureWorks2012Copy";  
        xfr.DestinationServer = srv.Name;  
        xfr.DestinationLoginSecure = true;  
        xfr.CopySchema = true;  
        //Script the transfer. Alternatively perform immediate data transfer   
        // with TransferData method.   
        xfr.ScriptTransfer();
       }
    }
}

问题是Transfer xfr; 显示错误:找不到类型或名称空间“ Transfer”(是否缺少using指令或程序集引用?)

阅读有关Transfer对象的信息,它应该在dll中,并使用Microsoft.SqlServer.Management.Smo进行引用;

我对C#还是很陌生,有人可以指出使用此Transfer类所缺少的内容吗? 感谢名单

您可能需要这些附加组件来安装SMO对象

  1. Microsoft核心XML服务(MSXML)
  2. Microsoft SQL Server本机客户端
  3. Microsoft SQL Server系统CLR类型

这些组件是SQL Server功能包的一部分,该功能包是为SQL Server提供附加价值的独立安装程序包的集合。 确保选择与您的SQL Server版本相对应的功能部件包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM