SQL Server管理对象

我使用受信任或SQL登录在下面的代码中得到相同的错误:

VS2010,控制台应用程序.NET4,Win XP。 SQL2005完整版。

转移炸弹.TransferData

错误:errorCode = -1073548784 description =执行查询“”失败,并显示以下错误:“由于以下错误,检索具有CLSID {19E353EF-DAF4-45D8-9A04-FB7F7798DCA7}的组件的COM类工厂失败:80040154” 。 可能的失败原因:查询问题,“ResultSet”属性设置不正确,参数设置不正确或连接未正确建立。

这感觉就像安全。 任何想法都会很棒!

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer.Management.Common; using System.Collections.Specialized; using System.IO; using System.Configuration; namespace GenerateScripts { class Program { static void Main(string[] args) { ServerConnection sourceConnection = new ServerConnection("localhost"); Server sourceServer = new Server(sourceConnection); //sourceServer.ConnectionContext.LoginSecure = false; //sourceServer.ConnectionContext.Login = "3tier"; //sourceServer.ConnectionContext.Password = "3tier"; Database sourceDatabase = sourceServer.Databases["3tier"]; // destination ServerConnection destinationConnection = new ServerConnection("localhost"); Server destinationServer = new Server(destinationConnection); //destinationServer.ConnectionContext.LoginSecure = false; //destinationServer.ConnectionContext.Login = "3tier2"; //destinationServer.ConnectionContext.Password = "3tier2"; Database destinationDatabase = destinationServer.Databases["3tier2"]; Transfer transfer = new Transfer(sourceDatabase); transfer.CopyAllObjects = false; transfer.DropDestinationObjectsFirst = false; transfer.UseDestinationTransaction = true; transfer.CopyAllDefaults = true; transfer.Options.Indexes = true; transfer.Options.DriAll = true; transfer.CopyAllDefaults = true; transfer.Options.AnsiFile = true; transfer.Options.SchemaQualify = true; transfer.Options.WithDependencies = false; transfer.CreateTargetDatabase = false; transfer.CopySchema = true; transfer.CopyData = true; transfer.DestinationServer = "localhost"; transfer.DestinationDatabase = "3tier2"; transfer.DestinationLoginSecure = false; transfer.DestinationLogin = "3tier2"; transfer.DestinationPassword = "3tier2"; transfer.Options.IncludeIfNotExists = true; transfer.TransferData(); 

我不知道这是否是相同的情况,但我有一个类似的问题,它与SQLTaskConnectionOleDb类注册损坏有关,

我已经通过跑步解决了它

 regsvr32 "%ProgramFiles%\Microsoft SQL Server\90\DTS\Binn\SQLTaskConnections.dll" 

在命令提示符下。