C# 在Microsoft.SqlServer.Management.Smo中找不到C传输
在windows.Net项目中,我有以下代码作为c类文件,用于从源SQL Server数据库中编写出所有数据库对象的脚本: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
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的引用。然后它成功了。