Wie verwende ich einen anderen Datenbank-Verbindung für die Paket-Konfiguration?

StackOverflow https://stackoverflow.com/questions/38766

  •  09-06-2019
  •  | 
  •  

Frage

Ich habe ein SSIS-Paket, das legt einige Variablen Daten aus einer SQL-Server-Paket-Konfigurations-Tabelle.(Wählen Sie "Geben Sie Konfiguration der Einstellungen direkt" - option)

Dies funktioniert gut, wenn ich bin mit der Datenbank-Verbindung, die ich angegeben, bei der Entwicklung der Paket.Aber wenn ich es auf einem server (64 bit) in der Testumgebung (entweder als Agent job-oder ausgeführt werden, das Paket direkt) und ich Geben Sie die neue Verbindungszeichenfolge in der Verbindungs-Manager, wird das Paket noch liest die Einstellungen aus dem DB-server, die ich angegeben in der Entwicklung.

Alle anderen Verbindungen dauern, bis die richtige Verbindung Streicher, es scheint nur die Paket-Konfiguration, liest aus den falschen Ort.

Irgendwelche Ideen, oder mache ich etwas wirklich falsch?

War es hilfreich?

Lösung

Die einzige Art, wie ich in der Lage war zu tun, war die Verwendung von Windows Umgebungsvariablen.Sie können angeben, Dinge wie Verbindungszeichenfolgen und Benutzer-Einstellungen in Umgebungsvariablen, und dann Holen die Umgebungsvariablen von Ihrem SSIS-Aufgabe.

Andere Tipps

Ich bevorzuge die Verwendung von Server-Aliase in der SQL-Client-Konfiguration.So, wenn Sie sich entscheiden, um das Paket zu einer anderen SQL Server-es ist so einfach wie das Bearbeiten der alias auf den neuen server, keine Bearbeitung notwendig in das SSIS-Paket.Beim verschieben des Pakets auf einen live-server, müssen Sie den Aliasnamen, und es funktioniert.

Dies hilft auch, wenn Sie eine echte schmerzhaft Namenskonventionen für Server, den alias können Sie einen aussagekräftigeren Namen als die tatsächlichen Maschine name.

Ich wollte eigentlich nicht verstehen, Ihre Frage vollständig, aber ich meine die Verbindungs-Einstellungen in Konfigurations-Dateien in der Regel einen für jede Umgebung wie dev, Produktion etc.Die Pakete Lesen Sie die Verbindungs-Einstellungen aus der config-Dateien, wenn Sie ausgeführt werden.

Wenn Sie einen Auftrag erstellen, um das SSIS-Paket, und Sie sind Einstellung up der Schritt, es ist ein Bereich mit Registerkarten.Die Standard-Registerkarte, wo Sie den Namen des Pakets, und die nächste Registerkarte ist, wo Sie können die Konfiguration Datei.Haben Sie eine config-Datei für jedes Paket, und ändern Sie für den server (dev, test, prod).Die config-Datei kann direkt auf dem dev -, test-und prod-Server, und zeigen Sie dann, um Sie beim einrichten des Auftrags.

Wenn u sind mit SQL Server-Pakets die Konfiguration dann alle Eigenschaften der Pakete wird kommen aus SQL-Server-Tabelle - Bitte überprüfen Sie, dass

SSIS-Sicherheit so wie es steht, ist schrecklich.Niemand wird in der Lage sein, zu unterstützen, Dinge, die, wenn ich aus dem Büro.Der job nie liest aus der Datei der Konfiguration,...ich gebe auf.Es funktioniert nur, wenn ich Bearbeiten Sie die Zeichenfolge in die Registerkarte Datenquellen.Aber das Passwort verloren geht, wenn Sie passieren zu gehen, in die Arbeit ein zweites mal.Schrecklichen design, absolut schrecklich.Sie würden denken, dass, wenn Sie geben eine xml-Datei in der Arbeit Schritt wäre es, Lesen Sie die Verbindungszeichenfolge aus, dass es definiert ist, aber es funktioniert nicht.Funktioniert das wirklich Arbeit für jemand anderen?

Gehen Sie dazu in die Paket Eigenschaften und set die Bereitstellung True.Diese Arbeit sollte für das, was Sie getan haben.

Ich hatte das identische Frage und bekam die gleiche Antwort, d.h.Sie können Bearbeiten Sie die Verbindungszeichenfolge verwendet für Paket-Konfigurationen, hosted in SQL Server, mit der Ausnahme, wenn Sie angeben, dass die SQL Server-Verbindungszeichenfolge sollte werden in einer Umgebungsvariablen.

Dies funktioniert leider nicht in meiner dev-setup, wo zwei Umgebungen gehostet werden auf der gleichen Maschine.Ich landete folgenden Scott Coleman Ansatz, wie detailliert auf SQL Server-zentrale [Kostenlos anmelden und ein guter Ort].Der trick ist, dass Sie eine Ansicht erstellen, speichern Ihre Einstellungen in der Konfiguration auf einem zentralen server, und verwenden Sie dann die Maschine, die sich mit ihm verbindet, zu bestimmen, in welcher Umgebung aktiv ist.

Ich benutzte diesen Ansatz, aber auch in der Benutzer eine Verbindung mit der Umgebung zu machen, eine Bestimmung, weil meine test-und dev-setups laufen auf das gleiche SSIS-Instanz, sondern als unterschiedliche Benutzernamen.Scott schlägt vor, in die Kommentare, die den Namen der Anwendung, eingestellt werden sollte, aber dies kann nicht geändert werden in die Ausführung des Pakets job Schritt, so war es nicht eine option.

Eine andere Einschränkung, die ich gefunden habe, war, dass ich hinzufügen musste "Anstelle von" Trigger, um meine Ansicht zu tun, die Einfügungen, Aktualisierungen und Löschungen für Konfigurations-Variablen.

Wir möchten, dass unsere Paket-Konfigurationen in einer Datenbank-Tabelle ist, wissen wir, es wird gesichert mit unseren anderen Daten, und wir wissen, wo es zu finden ist.Nur eine Präferenz.

Ich habe gefunden, dass, um diese Arbeit kann ich verwenden Sie eine Umgebungsvariable, Konfiguration, um die Verbindungszeichenfolge für den Verbindungs-manager, den ich lese, mein Paket config aus.(Obwohl ich, um starten Sie den SQL Server-agent, bevor er finden konnte, der neuen Umgebung variabel.Nicht ideal, wenn ich bereitstellen, das zur Produktion)

Sieht aus Wie wenn Sie ein SSIS-Paket als Schritt in einer geplanten Aufgabe es funktioniert in dieser Reihenfolge:

  • Laden von Paket-Konfigurationen werden in der Reihenfolge angezeigt, in der die Paket Configuations Veranstalter
  • Legen Sie die Verbindungszeichenfolgen aus der Registerkarte Datenquellen in der Arbeit Schritt Eigenschaften des Geplanten Auftrags
  • Mit dem laufen beginnen Paket.

Ich hätte erwartet, dass die ersten 2 auf die andere Weise herum, so dass ich legen Sie die Datenquelle für mein Paket config aus dem geplanten job.Das ist, wo ich würde erwarten, dass andere Leute suchen, die bei der Pflege der Paket.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top