2016-06-25 9 views
1

Ich habe SSIS-Pakete auf dem Server erstellt (nehme A an) und definiere seine Konfiguration in einem XML. Ich habe das Paket und die Konfigurationsdatei auf einen anderen Server (suppose B) kopiert und führen Sie es wie unten einen Batch-Befehl:SSIS verwendet keine Konfiguration, wenn es auf einem anderen Server ausgeführt wird als dort, wo es erstellt wurde

echo "Running SSIS Load" >D:\samplessis\log\Mylog.log dtexec.exe /f "D:\samplessis\ag_data_import.dtsx" /CONFIGFILE "D:\samplessis\config\AgDataLoad.dtsConfig" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF >>D:\samplessis\log\Mylog.log 

Dieses Paket im Paket definiert mit der Konfiguration zu sein scheint, aber nicht die XML (config-Datei)

+0

Haben Sie SSIS eingerichtet, um eine XML-Datei als Paketkonfigurationsquelle zu verwenden? Ich habe hier eine Erklärung dafür gefunden, ab Abbildung 4: https://www.simple-talk.com/sql/ssis/xml-configuration-files-in-sql-server-integration-services/ – steenbergh

+0

Ja, ich habe Führen Sie das Setup wie in dem von Ihnen angegebenen Link aus. –

Antwort

1

wenn DTEXEC wird eine XML-Konfigurationsdatei in MSSQL 2008 R2 gegeben oder später, es konfiguriert sich in dieser Reihenfolge bei der Ausführung:

  1. Das Dienstprogramm gilt zunächst die Entwurfszeit-Konfigurationen.
  2. Das Dienstprogramm wendet dann die Laufzeitoptionen an, die Sie beim Starten des Dienstprogramms in der Befehlszeile angegeben haben.
  3. Schließlich lädt das Dienstprogramm die Entwurfszeitkonfigurationen erneut und wendet sie erneut an.

(Quelle: https://technet.microsoft.com/en-us/library/bb500430(v=sql.105).aspx)

Dies bedeutet, dass die Konfiguration im Paket zur Laufzeit Entwurf ist - XML ​​- Entwurf. Wenn Sie den Inhalt der XML-Datei ändern und den DTEXEC-Befehl für Ihre dev-Box ausführen, erhalten Sie die gleichen Ergebnisse ...

Um dies zu umgehen, nach dem Einrichten der Konfigurationen im Designer, deaktivieren out die anfänglichen Werte. Wenn Sie beispielsweise eine Connectino-Zeichenfolge als Parameter haben, entwerfen Sie den Verbindungs-Manager, fügen Sie der XML-Datei die Verbindungszeichenfolge hinzu, und löschen Sie dann in den Eigenschaften des Verbindungs-Managers die Verbindungszeichenfolge.

Wenn in der Entwurfszeit keine Werte angegeben sind, konfiguriert sich der Designer selbst basierend auf der XML-Datei und wendet diese XML-Datei bei der Ausführung mit DTEXEC an.

+0

Ich habe die Verbindungszeichenfolge von SQL Datasource, die Verbindungszeichenfolge der Excel-Datei und die Verbindungszeichenfolge der Protokolldatei entfernt. Es funktionierte!! Danke dafür ... aber haben wir nicht eine andere Weise, die wir durch cmd behandeln können, weil ich viele Pakete habe, um hineinzugehen und dieses zu wiederholen! –