Ich habe eine Reihe von Makro-fähigen Excel-Dateien. Ich möchte jeden von ihnen mit einer SQL-Abfrage durchlaufen - select * from [Sheet1$A10:AZ100]
. Mein Excel Connection Manager funktioniert, wenn ich eine Datei ausgewählt habe, aber es gibt ein großes Problem, wenn ich einen For Each-Loop-Task hinzufüge und ihm meine Variable zuweise. Meine Schritte sind:
Schleife durch XLSM-Dateien SSIS 2012
Neue Verbindung erstellen: Excel-Verbindungs-Manager ich die erste XLSM Datei im Ordner wählen und drücken Sie OK.
Drag & Drop für jeden Loop Container und Doppelklick. In Sammlung: Ich wähle Für jede Dateiaufzählung und im Ordner gebe ich den Ordnerpfad an. In Dateien: * XLSM Die letzte Option ist: Fully Qualified
In Variable Mappings: Ich habe eine neue Variable erstellenDrag & Drop Datenflusstask 'FileFound' genannt in für jeden Behälter und Doppelklick.
Drag Source-Assistent: Wählen Sie Excel-Verbindungs-Manager oben
erstelltDouble Click Excel Quelle und für Data Access-Modus: Ich wähle SQL-Befehl. Meine Anfrage lautet
select * from [Sheet1$A10:AZ100]
. Diese Abfrage ist für alle XLSM-Dateien identisch.Klicken Sie auf Spalten und meine Daten zeigt alle OK
Nun ist dies, wo die
Rechtsklick Excel Connection Manager starts- Problem und Eigenschaften treffen.
Ich kopiere meine Verbindung String zuerst. Meine Verbindungszeichenfolge ist:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\Excel data\ABCDE.xlsm;Extended Properties="Excel 12.0 MACRO;HDR=YES";
Ich klicke auf Ausdrücke und wähle Verbindungszeichenfolgen in Eigenschaft. Als nächstes bearbeite ich meinen Ausdruck als:
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @[User::FileFound] + " ;Extended Properties=\"Excel 12.0 MACRO;HDR=YES\";"
Dies wird richtig ausgewertet.Ich habe dann Verzögerung Validierung des Excel-Verbindungs-Manager auf TRUE
- I Delay Validierungsset für jeden Container auf TRUE
Der Fehler, den ich bekommen ist:
Wie kann ich diesen Fehler beheben? Ich habe so viel versucht und alles gelesen, aber nicht in der Lage, darüber zu gehen.
Setzen Sie eine Überwachung auf die Variable FileFound und schauen Sie sich den Wert dieser Variablen an, wenn Sie den Fehler erhalten. Was ist es? Ist es ein vollständiger, gültiger Pfad zu einer vorhandenen Datei? –
Danke @TabAlleman. Ich werde tun, was Sie gesagt haben und morgen Bericht erstatten, um Sie über das Ergebnis zu informieren !! – MaxPD