Chociaż ta odpowiedź jest spóźniona, nie widziałem kanonicznej odpowiedzi na problem otwierania pliku w formacie .rpt i zapisywania go w tabeli SQL.
-
W SQL Server Management Studio w Eksploratorze obiektów kliknij prawym przyciskiem myszy bazę danych, do której chcesz załadować plik i wybierz Zadania... Importuj dane.
-
Wybierz opcję Flat File Source, wybierz plik, a następnie upewnij się, że ekran jest ustawiony zgodnie z następującym zrzutem ekranu (strona kodowa=65001 UTF-8, Format=Ragged right, nazwy kolumn w pierwszym wierszu danych). Następnie kliknij Dalej.
- Kliknij pierwszy znak każdej kolumny (zobacz żółte podświetlenia na poniższym zrzucie ekranu, gdzie kliknąć), aby wstawić kolumny w odpowiednich miejscach:
- Kliknij kartę Zaawansowane po lewej stronie. Przejrzyj każdą nazwę kolumny i usuń spacje z końca nazwy kolumny. Napraw typy danych według własnego uznania. Ostrzeżenie, że pierwsze kilka kolumn może być ciągami, ponieważ stopka pliku „(NNN dotyczy wierszy)”.
- Przejdź do karty Podgląd po lewej stronie, zmień „Wiersze danych do pominięcia” na 1 i kliknij Odśwież:
- Kliknij przycisk Dalej i skonfiguruj połączenie z bazą danych SQL:
-
Kliknij Dalej i wpisz nazwę swojej tabeli w formacie
[dbo].[MyTable]
następnie kliknij Edytuj mapowania i potwierdź zgodność typów danych kolumn. Kolumny ciągu (DT_STR) powinny być tutaj kolumnami varchar. Ciąg znaków Unicode (DT_WSTR) powinien być tutaj kolumnami nvarchar. -
Kliknij Dalej i Zakończ, aby uruchomić natychmiast. Miejmy nadzieję, że powinieneś zobaczyć komunikaty o sukcesie, a nie błędy:
- Istnieje stopka z napisem „(Dotyczy wierszy NNN)” (gdzie NNN to liczba wierszy w pliku). Przeprowadź zapytanie do docelowej tabeli SQL, aby znaleźć ten wiersz i go usunąć.
select * from MyTable where MyColumn1 like '%(%'
może pomóc Ci znaleźć ten wiersz. Potwierdź, że zapytanie zwraca tylko jeden wiersz, zanim je usuniesz.