Udostępnij przez


Menedżer połączeń programu Excel

Dotyczy:SQL Server Środowisko SSIS Integration Runtime w usłudze Azure Data Factory

Menedżer połączeń programu Excel umożliwia pakietowi nawiązanie połączenia z plikiem skoroszytu programu Microsoft Excel. Źródło programu Excel i miejsce docelowe programu Excel używane przez usługi Microsoft SQL Server Integration Services obejmują menedżera połączeń programu Excel.

Ważne

Aby uzyskać szczegółowe informacje o nawiązywaniu połączenia z plikami programu Excel oraz o ograniczeniach i znanych problemach związanych z ładowaniem danych z plików programu Excel lub do programu Excel, zobacz Ładowanie danych z programu Excel za pomocą usług SQL Server Integration Services (SSIS).

Po dodaniu menedżera połączeń programu Excel do pakietu usługi Integration Services tworzy menedżera połączeń rozpoznawanego jako połączenie programu Excel w czasie wykonywania, ustawia właściwości menedżera połączeń i dodaje menedżera połączeń do kolekcji Połączenia w pakiecie.

Właściwość ConnectionManagerType menedżera połączeń jest ustawiona na EXCEL.

Konfigurowanie Menedżera połączeń programu Excel

Menedżer połączeń programu Excel można skonfigurować w następujący sposób:

  • Określ ścieżkę pliku skoroszytu programu Excel.

  • Określ wersję programu Excel, która została użyta do utworzenia pliku.

  • Określ, czy pierwszy wiersz w zaznaczonych arkuszach lub zakresach zawiera nazwy kolumn.

Właściwości można ustawić za pomocą projektanta usług SSIS lub programowo.

Aby uzyskać informacje na temat programowego konfigurowania menedżera połączeń, zobacz ConnectionManager i Programowe dodawanie połączeń.

Edytor Menedżera połączeń programu Excel

Okno dialogowe Edytora menedżera połączeń programu Excel umożliwia dodanie połączenia do istniejącego lub nowego pliku skoroszytu programu Microsoft Excel.

Opcje

Ścieżka pliku programu Excel
Wpisz ścieżkę i nazwę pliku istniejącego lub nowego pliku skoroszytu programu Excel.

Przeglądać
Użyj okna dialogowego Otwórz , aby przejść do folderu, w którym istnieje plik programu Excel lub gdzie chcesz utworzyć nowy plik.

Wersja programu Excel
Określ wersję programu Microsoft Excel, która została użyta do utworzenia pliku.

Pierwszy wiersz zawiera nazwy kolumn
Określ, czy pierwszy wiersz danych w wybranym arkuszu zawiera nazwy kolumn. Wartość domyślna tej opcji to True.

Rozwiązanie do importowania danych z mieszanymi typami danych z programu Excel

Jeśli używasz danych zawierających mieszane typy danych, domyślnie sterownik programu Excel odczytuje pierwsze 8 wierszy (skonfigurowanych przez klucz rejestru TypeGuessRows ). Na podstawie pierwszych 8 wierszy danych sterownik programu Excel próbuje odgadnąć typ danych każdej kolumny. Jeśli na przykład źródło danych programu Excel zawiera liczby i tekst w jednej kolumnie, jeśli pierwsze 8 wierszy zawiera liczby, sterownik może określić na podstawie tych pierwszych 8 wierszy, które dane w kolumnie są typem całkowitym. W takim przypadku usługa SSIS pomija wartości tekstowe i importuje je jako wartość NULL do miejsca docelowego.

Aby rozwiązać ten problem, możesz wypróbować jedno z następujących rozwiązań:

  • Zmień typ kolumny programu Excel na Tekst w pliku programu Excel.

  • Dodaj właściwość rozszerzoną IMEX do parametrów połączenia, aby zastąpić domyślne zachowanie sterownika. Po dodaniu ciągu "; Właściwość rozszerzona IMEX=1 na końcu parametrów połączenia, program Excel traktuje wszystkie dane jako tekst. Zobacz następujący przykład:

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

    Aby to rozwiązanie działało niezawodnie, może być konieczne również zmodyfikowanie ustawień rejestru. Plik main.cmd jest następujący:

    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
    
  • Zapisz plik w formacie CSV i zmień pakiet usług SSIS, aby obsługiwał importowanie woluminów CSV.

Ładowanie danych z programu Excel lub do programu Excel przy użyciu usług SQL Server Integration Services (SSIS)
Źródło programu Excel
Miejsce docelowe programu Excel