Excel-Quelle

Aktualisiert: 15. September 2007

Die Excel-Quelle extrahiert Daten aus Arbeitsblättern oder Bereichen in Microsoft Excel-Arbeitsmappen.

ms141683.note(de-de,SQL.90).gifHinweis:
Auf einem 64-Bit-Computer müssen Sie Pakete ausführen, die eine Verbindung mit Microsoft Excel-Datenquellen im 32-Bit-Modus herstellen. Der Microsoft Jet OLE DB-Anbieter, der eine Verbindung mit Excel-Datenquellen herstellt, ist nur als 32-Bit-Version verfügbar.
ms141683.note(de-de,SQL.90).gifHinweis:
Verwenden Sie zum Laden von Daten aus einer Datenquelle, für die Microsoft Office Excel 2007 verwendet wird, eine OLE DB-Quelle. Sie können eine Excel-Quelle nicht zum Herstellen einer Verbindung mit einer Excel 2007-Datenquelle verwenden. Weitere Informationen finden Sie unter Excel-Verbindungs-Manager.

Die Excel-Quelle stellt vier verschiedene Datenzugriffsmodi zum Extrahieren von Daten bereit:

  • Eine Tabelle oder Sicht.
  • Eine in einer Variablen angegebene Tabelle oder Sicht.
  • Die Ergebnisse einer SQL-Anweisung. Bei der Abfrage kann es sich um eine parametrisierte Abfrage handeln.
  • Die Ergebnisse einer SQL-Anweisung, die in einer Variablen gespeichert werden.
ms141683.note(de-de,SQL.90).gifWichtig:
In Excel entspricht ein Arbeitsblatt oder ein Bereich einer Tabelle oder Sicht. Die Liste verfügbarer Tabellen im Quellen-Editor und Ziel-Editor für Excel zeigt vorhandene Arbeitsblätter (gekennzeichnet durch das an den Arbeitsblattnamen angefügte $-Zeichen, wie z. B. Sheet1$) und benannte Bereiche (gekennzeichnet durch das Fehlen des $-Zeichens, wie z. B. MyRange) an. Weitere Informationen finden Sie im Abschnitt mit Überlegungen zur Verwendung.

Die Excel-Quelle verwendet einen Excel-Verbindungs-Manager zum Herstellen einer Verbindung mit einer Datenquelle. Dieser Verbindungs-Manager gibt die zu verwendende Arbeitsmappendatei an. Weitere Informationen finden Sie unter Excel-Verbindungs-Manager.

Die Excel-Quelle weist eine reguläre Ausgabe und eine Fehlerausgabe auf.

Überlegungen zur Verwendung

Der Excel-Verbindungs-Manager verwendet den Microsoft OLE DB-Anbieter für Jet 4.0 und den zugehörigen Excel-ISAM-Treiber (Indexed Sequential Access Method, indizierte sequenzielle Zugriffsmethode), um auf Excel-Datenquellen zuzugreifen und diese zu lesen und in sie zu schreiben.

In vielen Microsoft Knowledge Base-Artikeln ist das Verhalten dieses Anbieters und Treibers dokumentiert. Diese Artikel beziehen sich zwar nicht speziell auf Integration Services oder die Vorgängerversion Data Transformation Services, aber Sie sollten bestimmte Verhaltensweisen kennen, die zu unerwarteten Ergebnissen führen können. Allgemeine Informationen zu Verwendung und Verhalten des Excel-Treibers finden Sie unter SO WIRD'S GEMACHT: Verwenden von ADO mit Excel-Daten von Visual Basic oder VBA.

Die folgenden Verhaltensweisen des Jet-Anbieters mit dem Excel-Treiber können zu unerwarteten Ergebnissen führen, wenn Daten aus einer Excel-Datenquelle gelesen werden.

  • Datenquellen. Die Quelle von Daten in einer Excel-Arbeitsmappe kann ein Arbeitsblatt sein, an das das $-Zeichen angefügt werden muss (z. B. Sheet1$), oder ein benannter Bereich (z. B. MyRange). In einer SQL-Anweisung muss der Name eines Arbeitsblattes mit Trennzeichen versehen sein (z. B. [Sheet1$]), um Syntaxfehler durch das $-Zeichen zu vermeiden. Der Abfrage-Generator fügt diese Trennzeichen automatisch hinzu. Wenn Sie ein Arbeitsblatt angeben, liest der Treiber den zusammenhängenden Zellenblock ab der ersten nicht leeren Zelle in der linken oberen Ecke des Arbeitsblattes oder Bereichs. Deshalb sind leere Zeilen in den Quelldaten oder eine leere Zeile zwischen Titel- oder Kopfzeilen und den Datenzeilen nicht zulässig.
  • Fehlende Werte. Der Excel-Treiber liest eine bestimmte Anzahl von Zeilen (standardmäßig 8 Zeilen) in der angegebenen Quelle, um den Datentyp jeder Spalte zu ermitteln. Wenn eine Spalte offensichtlich gemischte Datentypen enthält, insbesondere eine Mischung aus numerischen Daten und Textdaten, entscheidet der Treiber zugunsten des Mehrheitsdatentyps und gibt in Zellen mit Daten des anderen Datentyps NULL-Werte zurück. (In einer unentschiedenen Situation hat der numerische Datentyp Vorrang.) Die meisten Zellenformatierungsoptionen im Excel-Arbeitsblatt scheinen keinen Einfluss auf diese Datentypfestlegung zu haben. Sie können dieses Verhalten des Excel-Treibers ändern, indem Sie den Importmodus angeben. Um den Importmodus anzugeben, fügen Sie IMEX=1 dem Wert für erweiterte Eigenschaften in der Verbindungszeichenfolge des Excel-Verbindungs-Managers im Fenster Eigenschaften hinzu. Weitere Informationen finden Sie unter PRB: Mithilfe von DAO als NULL zurückgegebene Excel-Werte (maschinelle Übersetzung).
  • Abgeschnittener Text. Wenn der Anbieter bestimmt, dass eine Excel-Spalte Textdaten enthält, wählt der Treiber den Datentyp (string- oder memo-Datentyp) auf Basis des längsten Wertes, der als Stichprobe genommenen wird.. Wenn der Treiber in den als Stichprobe genommenen Zeilen keine Werte mit mehr als 255 Zeichen findet, wird die Spalte nicht als Memospalte, sondern als Zeichenfolgenspalte mit 255 Zeichen behandelt. Deshalb können Werte, die länger als 255 Zeichen sind, abgeschnitten werden. Um Daten aus einer Memospalte ohne das Abschneiden von Daten zu importieren, müssen Sie sicherstellen, dass die Memospalte mindestens eine der als Stichprobe genommenen Zeilen einen Wert mit mehr als 255 Zeichen enthält, oder Sie müssen die vom Treiber als Stichprobe genommene Zeilenanzahl erhöhen, um solch eine Zeile einzuschließen. Sie können die als Stichprobe genommene Zeilenanzahl mithilfe von TypeGuessRows unter dem Registrierungsschlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel erhöhen. Weitere Informationen finden Sie unter PRB: Übertragung von Daten aus Jet 4.0 OLEDB-Quelle schlägt mit Pufferüberlauffehler fehl.
  • Datentypen. Der Excel-Treiber erkennt nur einen begrenzten Satz von Datentypen. Beispielsweise werden alle numerischen Spalten als Gleitkommawerte mit doppelter Genauigkeit (DT_R8) und alle Zeichenfolgenspalten (alle Spalten, die keine Memospalten sind) als Unicode-Zeichenfolgen mit 255 Zeichen (DT_WSTR) interpretiert. Integration Services ordnet die Excel-Datentypen wie folgt zu:
    • Numerisch – Gleitkommawert mit doppelter Genauigkeit (DT_R8)
    • Währung – Währung (DT_CY)
    • Boolesch – Boolesch (DT_BOOL)
    • Datum/Uhrzeit – Datum (DT_DATE)
    • Zeichenfolge – Unicode-Zeichenfolge, Länge 255 (DT_WSTR)
    • Memo – Unicode-Textdatenstrom (DT_NTEXT)
  • Datentyp- und Längenkonvertierungen. In Integration Services werden Datentypen nicht implizit konvertiert. Daher müssen Sie u. U. die Transformationen für abgeleitete Spalten oder für die Datenkonvertierung verwenden, um Excel-Daten vor dem Laden in ein Nicht-Excel-Ziel explizit zu konvertieren bzw. um Nicht-Excel-Daten vor dem Laden in ein Excel-Ziel zu konvertieren. In diesem Fall kann es nützlich sein, das erste Paket mit dem Import/Export-Assistenten zu erstellen, mit dem die Konfiguration notwendiger Konvertierungen vorgenommen wird. Im Folgenden finden Sie einige Beispiele für ggf. erforderliche Konvertierungen:
    • Konvertierung zwischen Unicode-Excel-Zeichenfolgenspalten und Nicht-Unicode-Zeichenfolgenspalten mit bestimmten Codepages
    • Konvertierung zwischen Excel-Zeichenfolgenspalten mit 255 Zeichen und Zeichenfolgenspalten unterschiedlicher Länge
    • Konvertierung zwischen numerischen Excel-Spalten mit doppelter Genauigkeit und numerischen Spalten anderen Typs

Konfigurieren der Excel-Quelle

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

Klicken Sie auf eines der folgenden Themen, um weitere Informationen zu den Eigenschaften zu erhalten, die Sie im Dialogfeld Quellen-Editor für Excel festlegen können:

Das Dialogfeld Erweiterter Editor enthält alle Eigenschaften, die programmgesteuert festgelegt werden können. Klicken Sie auf eines der folgenden Themen, um weitere Informationen zu den Eigenschaften zu erhalten, die Sie im Dialogfeld Erweiterter Editor oder programmgesteuert festlegen können:

Klicken Sie auf eines der folgenden Themen, um weitere Informationen zum Festlegen von Eigenschaften zu erhalten:

Weitere Informationen zum Bilden einer Schleife durch eine Gruppe von Excel-Dateien finden Sie unter Vorgehensweise: Durchlaufen von Excel-Dateien und -Tabellen.

Siehe auch

Aufgaben

Vorgehensweise: Durchlaufen von Excel-Dateien und -Tabellen

Konzepte

Excel-Ziel
SQL Server Integration Services-Variablen
Erstellen eines Paketdatenflusses
Überlegungen zu Integration Services auf 64-Bit-Computern

Andere Ressourcen

SQL Server Integration Services-Quellen
Working with Excel Files with the Script Task

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

15. September 2007

Neuer Inhalt:
  • Es wurde ein Hinweis darüber hinzugefügt, wie auf einem 64-Bit-Computer Pakete ausgeführt werden können, die eine Verbindung mit Excel-Datenquellen herstellen.

12. Dezember 2006

Neuer Inhalt:
  • Ein Hinweis zur Verwendung von Excel 2007-Datenquellen wurde hinzugefügt.

05. Dezember 2005

Geänderter Inhalt:
  • Große Teile des Abschnitts "Überlegungen zur Verwendung" wurden erweitert und umgeschrieben, um bekannte Probleme zu verdeutlichen.