Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Microsoft.SqlServer.Management.Smo中找不到C传输_C#_Sql Server - Fatal编程技术网

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

C# 在Microsoft.SqlServer.Management.Smo中找不到C传输,c#,sql-server,C#,Sql Server,在windows.Net项目中,我有以下代码作为c类文件,用于从源SQL Server数据库中编写出所有数据库对象的脚本: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.SqlServer.Management.Smo; namespace ScriptDatabaseTra

在windows.Net项目中,我有以下代码作为c类文件,用于从源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();
       }
    }
}
问题是传输xfr;显示错误:找不到类型或命名空间“Transfer”是否缺少using指令或程序集引用

读取有关传输对象的信息时,该对象应位于dll中,并使用Microsoft.SqlServer.Management.Smo引用


我对C还是相当陌生,有人能指出我在使用这个转移类时缺少了什么吗?thanx

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

Microsoft核心XML服务MSXML Microsoft SQL Server本机客户端 Microsoft SQL Server系统CLR类型
这些组件是SQL Server功能包的一部分,该功能包是为SQL Server提供附加价值的独立安装包的集合。确保选择与您的SQL Server版本相对应的功能包。

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

Microsoft核心XML服务MSXML Microsoft SQL Server本机客户端 Microsoft SQL Server系统CLR类型
这些组件是SQL Server功能包的一部分,该功能包是为SQL Server提供附加价值的独立安装包的集合。确保选择与您的SQL Server版本相对应的功能包。

右键单击应用程序,添加引用,搜索Microsoft.SqlServer.Management并添加它。然后保存您的设置。谢谢iSR5,但我试过了,它只显示了Microsoft.SQLServer.Management.CollectorTasks和Microsoft.SQLServer.Management.Sdk.Sfc。根据网站上的在线文档,它应该位于Microsoft.SqlServer.Management.Smo中。右键单击应用程序并添加引用,搜索Microsoft.SqlServer.Management并添加它。然后保存您的设置。谢谢iSR5,但我试过了,它只显示了Microsoft.SQLServer.Management.CollectorTasks和Microsoft.SQLServer.Management.Sdk.Sfc。根据网站上的在线文档,它应该位于Microsoft.SqlServer.Management.SmoThankam@Akshara Thangam中,我必须从SQL Server功能包中添加以下组件才能正常工作:Microsoft®SQL Server®2016共享管理对象文件名:X86和x64包SharedManagementObjects.msi Microsoft®System CLR Types for Microsoft SQL Server®文件名:X86和x64 Package SQLSysClrTypes.msi加载这些文件后,我必须添加对Microsoft.SQLServer.ConnectionInfo、Microsoft.SQLServer.Smo和Microsoft.SQLServer.SmoExtended的引用。然后它成功了。感谢@Akshara Thangam,我必须从SQL Server功能包中添加以下组件才能使其正常工作:Microsoft®SQL Server®2016共享管理对象文件名:X86和x64包SharedManagementObjects.msi Microsoft®System CLR Types for Microsoft SQL Server®文件名:X86和x64包SQLSysClrTypes.msi加载这些文件后,我必须添加对Microsoft.SQLServer.ConnectionInfo、Microsoft.SQLServer.Smo和Microsoft.SQLServer.SmoExtended的引用。然后它成功了。