2010-08-02 29 views
6

Am güvenilir veya SQL oturum açma kullanarak aşağıdaki kodu aynı hatayı alıyorum Nesneleri:SQL Server Management

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

Bombalar bu güvenlik gibi hissediyor 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.

üzerinde. Herhangi bir düşünce harika olurdu!

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

cevap

2
bu aynı durumda ama benzer bir sorun vardı ve SQLTaskConnectionOleDb sınıf kaydı, yolsuzlukla ilgili olup olmadığını bilmiyorum

,

i

çalıştırarak bunu çözdük

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

.

İlgili konular