it-swarm.com.de

SSIS Excel Connection Manager konnte keine Verbindung zur Quelle herstellen

Ich habe einen Server, der mit dem Import-Assistenten eine Excel-Importaufgabe erstellen und ausführen kann. Ich versuche, diesen Prozess mithilfe eines Visual Studio 2010 Integration Services-Pakets zu automatisieren, das ich auf diesem Server entwickle.

Das Problem tritt auf, wenn Sie versuchen, das Paket zu entwerfen. Ich habe eine Excel-Verbindung hinzugefügt und auf die Excel-Datei auf einer lokalen Festplatte verwiesen (dieselbe Datei, die bereits mit dem Importassistenten erfolgreich importiert wurde). Wenn ich dem DataFlow eine Excel-Quelle hinzufügen und die Excel-Verbindung angeben, wenn ich zum Dropdown-Namen der Excel-Tabelle gehe, sehe ich nur "Keine Tabellen oder Ansichten können geladen werden" und erhalte die folgende Fehlermeldung.

Msgstr "Die Tabelleninformationen für den Verbindungsmanager konnten nicht abgerufen werden . Verbindung mit der Quelle konnte nicht mit dem Verbindungsmanager hergestellt werden."

Ich kann diesen Fehler nirgendwo protokollieren und weiß nicht, warum er fehlschlägt. Das Verzeichnis wird für authentifizierte Benutzer freigegeben und die Datei wird nicht verwendet.

Irgendwelche Ideen, wie man diesen Fehler behebt? Ich verstehe, dass es Probleme im 64-Bit-Modus geben kann, aber gilt das für die Entwicklung?

Ich sollte hinzufügen, dass es sich um eine Excel 2007-Datei .XLSX handelt und die Verbindung auf Excel 2007 eingestellt ist.

30
PatFromCanada

Es scheint, dass die 32-Bit-Version von Excel nicht installiert wurde. Denken Sie daran, dass SSDT eine 32-Bit-IDE ist. Wenn Daten auf SSDT zugreifen, werden daher die 32-Bit-Datenanbieter verwendet. Wenn das Paket außerhalb von SSDT ausgeführt wird, wird es im 64-Bit-Modus (nicht immer, aber meistens) ausgeführt und verwendet die 64-Bit-Datenprovider.

Denken Sie immer daran, dass Sie, wenn Sie Ihr Paket in 64-Bit ausführen möchten (was Sie anstreben sollten), sowohl die 32-Bit-Datenanbieter (für die Entwicklung in SSDT) ​​als auch die 64-Bit-Datenanbieter (z Ausführen des Pakets in der Produktion).

Ich habe die 32-Bit-Zugriffstreiber heruntergeladen von: 

Nach der Installation konnte ich die Arbeitsblätter sehen


Quelle: 

34
Rishit

Die Problemumgehung ist, ich speichere die Excel-Datei als Excel 97-2003, dann funktioniert es gut

25
PatFromCanada

Ich bin auch heute auf dieses Problem gestoßen, habe aber eine andere Lösung gefunden als Excel 97-2003. Gemäß Maderia ist das Problem, dass SSDT (SQL Server Data Tools) eine 32-Bit-Anwendung ist und nur 32-Bit-Provider verwenden kann. Sie haben jedoch wahrscheinlich den 64-Bit-ACE-Provider OLE installiert. Sie könnten versuchen, den 32-Bit-Provider zu installieren, aber Sie können nicht gleichzeitig die 64- und die 32-Version installieren. Die von Maderia vorgeschlagene Lösung (und ich habe festgestellt, dass sie für mich funktioniert hat) bestand darin, DelayValidation = TRUE für die Aufgaben festzulegen, bei denen ich die Excel 2007-Datei importiere/exportiere.

7
Manzabar

Eine einfache Problemumgehung besteht darin, die Datei zu öffnen und auf die Schaltfläche "Speichern" in Excel zu klicken (das Format muss nicht geändert werden). Nach dem Speichern in Excel wird es funktionieren und Sie sollten die Blätter in der DFT sehen können.

4
biscoop

Die Empfehlungen aus diesem Artikel Extrahieren von Daten aus Excel mit SSIS hat das Problem für mich gelöst.

Ich habe den 32-Bit-Treiber Von MS Access Database Engine 2010 über den Link in diesem Artikel heruntergeladen.

Festlegen von Projektkonfigurationseigenschaften für das Debuggen Run64BitRuntime = False

In SQL Server 2014 SSMS (Integration Service Catalog -> SSISDB -> Umgebungen -> Projekte für alle in Validate enthaltenen Pakete ist das Kontrollkästchen 32 bit Runtime aktiviert. 

Meine SSIS-Pakete funktionieren jetzt sowohl in VS 2013- als auch in SQL Server 2014-Umgebungen.

4
Michael Alfes

Sie müssen eine ältere Version des Datenkonnektivitätstreibers ( 2007 Office System Driver: Data Connectivity Components ) verwenden und im Verbindungsmanager-Konfigurationsfenster Excel-Version 2007-2010 auswählen für Office 2016 ist korrupt

3
Pepijn

Meine Antwort ist der von @biscoop sehr ähnlich, aber ich werde ein wenig näher darauf eingehen, da dies auf die Frage oder auf andere Personen zutreffen kann.

Ich hatte eine .xls, die eine Extraktion aus einer unserer Webapps war. Die Excel-Verbindung würde nicht funktionieren (Fehlermeldung: "Es konnten keine Tabellen oder Ansichten geladen werden"). Als Randbemerkung wird beim Öffnen der Datei eine Warnung angezeigt, dass die Datei aus einer Online-Quelle stammt und der Inhalt aktiviert werden muss.

Ich habe versucht, die gleiche Datei als .xlsx zu speichern, und es hat funktioniert. Ich habe versucht, dieselbe Datei mit einem anderen Namen als .xls zu speichern, und es hat auch funktioniert. Also habe ich als letzten Test nur die Quelle geöffnet .xls-Datei, klicken Sie auf "Speichern" und die Verbindung funktioniert.

Kurze Antwort: Probieren Sie es einfach aus, wenn Sie die Datei öffnen und speichern.

0
salcoin