2010-08-02 12 views
6

estoy recibiendo el mismo error en el código de abajo usando cualquiera de los inicios de sesión de confianza o SQL:SQL Server objetos de administración de

VS2010, Console app .NET4, Win XP. SQL2005 Full.

bombas en el transfer.TransferData

ERROR : errorCode=-1073548784 description=Executing the query "" failed with the following error: "Retrieving the COM class factory for component with CLSID {19E353EF-DAF4-45D8-9A04-FB7F7798DCA7} failed due to the following error: 80040154.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

esto se siente como la seguridad. ¡Cualquier idea sería increíble!

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(); 

Respuesta

2

No sé si este es el mismo caso, pero tuve un problema similar y que estaba relacionado con SQLTaskConnectionOleDb clase de corrupción registro,

he resuelto mediante la ejecución de

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

en el símbolo del sistema.

Cuestiones relacionadas