Freigeben über


Excel-Verbindungs-Manager

Gilt für: SQL Server SSIS Integration Runtime in Azure Data Factory

Mit einem Excel-Verbindungs-Manager kann ein Paket eine Verbindung mit einer Microsoft Excel-Arbeitsmappendatei herstellen. Die Excel-Quelle und das Excel-Ziel von Microsoft SQL Server Integration Services verwenden den Excel-Verbindungs-Manager.

Wichtig

Ausführliche Informationen über das Herstellen einer Verbindung mit Excel-Dateien sowie Einschränkungen und bekannte Probleme beim Laden von Daten aus oder in Excel-Dateien finden Sie unter Load data from or to Excel with SQL Server Integration Services (SSIS) (Laden von Daten aus oder in Excel mit SQL Server Integration Services (SSIS)).

Wenn Sie einem Paket einen Excel-Verbindungs-Manager hinzufügen, erstellt Integration Services einen Verbindungs-Manager, der zur Laufzeit als Excel-Verbindung aufgelöst wird, die Eigenschaften des Verbindungs-Managers festlegt und der Sammlung Verbindungen im Paket den Verbindungs-Manager hinzufügt.

Die ConnectionManagerType -Eigenschaft des Verbindungs-Managers ist auf EXCELfestgelegt.

Konfigurieren des Excel-Verbindungs-Managers

Es gibt folgende Möglichkeiten, um den Excel-Verbindungs-Manager zu konfigurieren:

  • Geben Sie den Pfad der Excel-Arbeitsmappendatei an.

  • Geben Sie die Excel-Version an, die zum Erstellen der Datei verwendet wurde.

  • Geben Sie an, ob die erste Zeile in den ausgewählten Arbeitsmappen oder Bereichen Spaltennamen enthält.

Sie können Eigenschaften mit dem SSIS -Designer oder programmgesteuert festlegen.

Weitere Informationen zu den Eigenschaften, die Sie im SSIS -Designer festlegen können, finden Sie unter Verbindungs-Manager-Editor für Excel.

Weitere Informationen zum programmgesteuerten Konfigurieren eines Verbindungs-Managers finden Sie unter ConnectionManager und Programmgesteuertes Hinzufügen von Verbindungenfestgelegt.

Verbindungs-Manager-Editor für Excel

Mithilfe des Dialogfelds Verbindungs-Manager-Editor für Excel können Sie einer vorhandenen oder neuen Microsoft Excel -Arbeitsmappendatei eine Verbindung hinzufügen.

Optionen

Excel-Dateipfad
Geben Sie den Pfad und den Dateinamen einer vorhandenen oder neuen Excel-Arbeitsmappendatei ein.

Durchsuchen
Verwenden Sie das Dialogfeld Öffnen, um zum Ordner zu navigieren, in dem die Excel-Datei enthalten ist bzw. in dem Sie die neue Datei erstellen möchten.

Excel-Version
Geben Sie die Version von Microsoft Excel an, die zum Erstellen der Datei verwendet wurde.

Erste Zeile enthält Spaltennamen
Geben Sie an, ob die erste Zeile der Daten in der ausgewählten Arbeitsmappe Spaltennamen enthält. Der Standardwert für diese Option ist True.

Lösung zum Importieren von Daten mit gemischten Datentypen aus Excel

Wenn Sie Daten mit gemischten Datentypen verwenden, liest der Excel-Treiber standardmäßig die ersten acht Zeilen (diese Einstellung wird durch den Registrierungsschlüssel TypeGuessRows konfiguriert). Basierend auf den ersten acht Datenzeilen versucht der Excel-Treiber den Datentyp jeder Spalte zu erraten. Ein Beispiel: Ihre Excel-Datenquelle enthält in einer Spalte Zahlen und Text. Wenn die ersten acht Zeilen Zahlen enthalten, bestimmt der Treiber anhand dieser Zeilen möglicherweise, dass die Daten in der Spalte Integerwerte sein müssen. In diesem Fall überspringt SSIS Textwerte und importiert diese als NULL in das Ziel.

Um dieses Problem zu beheben, können Sie eine der folgenden Lösungen ausprobieren:

  • Ändern Sie den Spaltentyp in der Excel-Datei in Text.

  • Fügen Sie die erweiterte IMEX-Eigenschaft zur Verbindungszeichenfolge hinzu, um das Standardverhalten des Treibers außer Kraft zu setzen. Wenn Sie die erweiterte Eigenschaft „;IMEX=1“ am Ende der Verbindungszeichenfolge einfügen, behandelt Excel alle Daten als Text. Sehen Sie sich folgendes Beispiel an:

    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\ExcelFileName.xlsx;Extended Properties="EXCEL 12.0 XML;HDR=YES;IMEX=1";
    

    Damit diese Lösung zuverlässig funktioniert, müssen Sie möglicherweise auch die Registrierungseinstellungen ändern. Die main.cmd-Datei lautet wie folgt:

    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    
  • Speichern Sie die Datei im CSV-Format, und ändern Sie das SSIS-Paket so, dass ein CSV-Import unterstützt wird.

Laden von Daten aus oder in Excel mit SQL Server Integration Services (SSIS)
Excel-Quelle
Excel-Ziel