6 Stimmen

SQL Server-Verwaltungsobjekte

Ich erhalte den gleichen Fehler auf den Code unten entweder mit vertrauenswürdigen oder SQL-Anmeldungen:

VS2010, Konsolenanwendung .NET4, Win XP. SQL2005 Voll.

Bomben auf den Transfer.TransferData

ERROR : errorCode=-1073548784 description=Ausführung der Abfrage "" ist mit dem folgenden Fehler fehlgeschlagen: "Abrufen der COM-Klassenfabrik für Komponente mit CLSID {19E353EF-DAF4-45D8-9A04-FB7F7798DCA7} schlug aufgrund aufgrund des folgenden Fehlers: 80040154.". Mögliche Fehlerursachen: Probleme mit der Abfrage, Eigenschaft "ResultSet" nicht korrekt gesetzt, Parameter nicht Parameter nicht korrekt gesetzt, oder Verbindung nicht korrekt hergestellt.

das fühlt sich wie Sicherheit an. Jeder Gedanke wäre großartig!

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

2voto

Ginka Punkte 560

Ich weiß nicht, ob dies derselbe Fall ist, aber ich hatte ein ähnliches Problem, und es hing zusammen mit SQLTaskConnectionOleDb Korruption bei der Klassenanmeldung,

Ich habe das Problem gelöst, indem ich

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

in der Eingabeaufforderung.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X