Eksport danych z bazy danych do pliku CSV

Microsoft Access (2007, 2003) | MySQL | Postgres | MS SQL Server | Oracle | Enterprise Data Publisher

SpatialKey wymaga przesłania i zaimportowania danych za pomocą pliku CSV przed zaimportowaniem zestawu danych. Staraliśmy się, aby proces importu był tak prosty i przyjemny, jak to tylko możliwe, ale SpatialKey nie może pomóc w uzyskaniu danych w formacie CSV. W wielu przypadkach cenne dane, do których potrzebujesz dostępu, zostaną zablokowane w bazie danych. Istnieje wiele typów baz danych, a większość z nich ma możliwości, aby pomóc w wyeksportowaniu danych do formatu CSV, ale zwykle są one specyficzne dla danej bazy danych.

celem tego artykułu jest zbadanie, jak uzyskać dane do formatu CSV z wielu bardziej popularnych baz danych i systemów zarządzania bazami danych dostępnych obecnie na rynku. Jeśli nie masz dostępu do bazy danych, w której znajdują się Twoje dane i masz administratora bazy danych lub personel IT, który generuje dla ciebie raporty, przekaż link do tego artykułu, gdy poprosisz o dane dla SpatialKey, ponieważ może to również zaoszczędzić im trochę czasu.

proszę zauważyć, że ten artykuł dotyczy użycia poleceń Structured Query Language (SQL) potrzebnych do uruchomienia bazy danych i jest przeznaczony dla użytkowników, którzy są zaznajomieni z SQL i narzędziami do bazy danych, z których zwykle korzystają.

Microsoft Access:

Microsoft Access jest popularną bazą danych opartą na plikach, używaną zazwyczaj przez małe organizacje z ograniczoną liczbą użytkowników, a także przez osoby prywatne. Dostęp do danych MS Access można uzyskać za pomocą aplikacji MS Access w sposób wizualny, a także za pomocą tradycyjnych metod opartych na SQL. Ponieważ MS Access przeszedł ostatnio poważną zmianę interfejsu użytkownika, zbadamy zarówno wersje 2007, jak i 2003 aplikacji (jeśli pracujesz ze starszą wersją, podobne techniki powinny być również dostępne).

Access 2007:

na pierwszym rysunku (1.1) widać, że otworzyłem standardową przykładową bazę danych dostarczaną z MS Access (zwaną Northwind). Wybrałem również Zapytanie o nazwie „Top Ten Orders by Sales Amount”. Do tego zapytania dodałem informacje adresowe klienta, ponieważ SpatialKey kocha dane, które zawierają dane czasowe (czas i Data) i geoprzestrzenne (dane, które można przetłumaczyć na lokalizację).

rys. 1.1-MS Access 2007

stąd mogę łatwo wyeksportować wyniki do pliku CSV:

  1. kliknij tabelę lub zapytanie do eksportu (w tym przykładzie „Top Ten Orders by Sales Amount” po lewej stronie)
  2. kliknij kartę „Dane zewnętrzne” w górnej części okna
  3. w sekcji „eksport” kliknij „plik tekstowy”, a pojawi się kreator
  4. wybierz lokalizację eksportowanego pliku CSV i nadaj mu nazwę (upewnij się, że plik kończy się literą A .
  5. kliknij OK
  6. na następnym ekranie upewnij się, że wybrano opcję „Delimited”
  7. kliknij przycisk „Advanced…” w lewym dolnym rogu okna
  8. SpatialKey przechowuje swoje dane jako Unicode UTF-8, musimy upewnić się, że dane są eksportowane w tym formacie
    1. kliknij rozwijane pole obok strony kodowej
    2. Wybierz Unicode (UTF-8) na liście opcji
    3. kliknij OK
  9. powrót w oknie eksportu tekstu kliknij „Dalej”
  10. upewnij się, że „przecinek” jest wybrany jako ogranicznik, a kwalifikator tekstu jest podwójnym cytatem: „
  11. kliknij pole wyboru” Dołącz nazwy pól w pierwszym wierszu „(powinno być zaznaczone)
  12. kliknij”Dalej „
  13. Sprawdź nazwę pliku i lokalizację i kliknij”Zakończ”
  14. końcowy ekran kreatora daje możliwość zapisania kroków pozwalających na łatwe ponowne eksportowanie danych w przyszłości. Jeśli przewidujesz konieczność aktualizacji danych w SpatialKey, zaznacz pole wyboru, aby zaoszczędzić trochę czasu w przyszłości. Zamknij okno po zakończeniu.

Jeśli otworzysz plik w edytorze tekstu, powinieneś zobaczyć coś takiego:

rys. 1.2-wyeksportowane dane Northwind

teraz jesteś gotowy do przesłania nowego pliku CSV do SpatialKey.

MS Access 2003:

następny rysunek pokazuje starszą wersję MS Access 2003 bazy danych Northwind. Będę eksportować zapisane zapytanie o nazwie „zamówienia Qry” po lewej stronie.

rys. 1.3-MS Access 2003 baza danych

pozwala wyeksportować plik CSV:

  1. upewnij się, że wybrana jest tabela lub zapytanie, kliknij menu plik i wybierz „Eksportuj…”
  2. rozpocznie się Kreator eksportu
  3. Wybierz lokalizację eksportowanych danych i nazwij plik (pamiętaj, aby ustawić rozszerzenie pliku jako .csv)
  4. Zmień zapis jako typ: na „pliki tekstowe”
  5. kliknij „Eksportuj”

wykonaj kroki 6-14 w instrukcji Access 2007 powyżej, ponieważ są one takie same od tego momentu na

teraz jesteś gotowy do przesłania nowego pliku CSV do SpatialKey.

MySQL:

MySQL jest popularną bazą danych open source dla przedsiębiorstw. Istnieje wiele narzędzi do interakcji z tą bazą danych, ale podobnie jak w przypadku większości korporacyjnych baz danych, Większość dostępu odbywa się za pośrednictwem ustrukturyzowanego języka zapytań. Istnieje kilka opcji eksportu danych do CSV z MySQL. Niektóre wymagają narzędzi trzeciej części, podczas gdy inne używają narzędzia wiersza poleceń (przydatne na maszynach uniksowych) i ostatecznej opcji poprzez SQL. Rzućmy okiem na dwie ostatnie opcje:

narzędzie wiersza poleceń MySQL (w systemie Unix):

mysql -u exampleuser -p letmein exampledb -B -e "select * from\'person\';" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > filename.csv

Co to wszystko oznacza?

  • mysql : plik wykonywalny (powinien być tam, gdzie jest zainstalowany MySQL)
  • -u przykładuser : przełącznik i opcja dla nazwy użytkownika do wykonania SQL z
  • -p letmein : przełącznik i opcja dla hasła użytkownika
  • przykładb : baza danych do uruchomienia SQL z
  • -B : instruuje, że wyjście powinno być rozdzielone tabulatorami (przekonwertujemy to na przecinki później w poleceniu)
  • -e „polecenie sql tutaj” : polecenie SQL do uruchomienia zwracające dane
  • | sed 's/\T/”,”/G;S/^/”/;S/$/”/;S/\N//G’ : sed jest procesorem strumieniowym Unix, zasadniczo pozwala na transformacje w tym przypadku. Tutaj mamy cztery polecenia sed, które zmieniają tabulatory na podwójne cudzysłowy, dodają podwójne cudzysłowy na początku i końcu każdej linii i dodaje nowy znacznik linii na końcu każdej linii.
  • > nazwa pliku.csv: wypisuje wyniki do pliku o nazwie nazwa pliku.csv

teraz możesz przesłać nowy plik CSV do SpatialKey.

składnia SQL MySQL:

SELECT column_a,column_b,column_c+column_d INTO OUTFILE '/tmp/result.csv'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'LINES TERMINATED BY '\n'FROM test_table;

Instrukcja MySQL select używa polecenia INTO OUTFILE do wyprowadzenia wyników SQL select do pliku (w tym przypadku/tmp / result.csv).

kilka uwag:

  • w obu przypadkach plik jest zapisywany w lokalizacji lokalnej, z której baza danych jest uruchamiana (na tej samej maszynie lub do montowania/napędu dostępnego dla maszyny)
  • wiersz nagłówka będzie musiał zostać dodany do obu plików (co można zrobić za pomocą dowolnego edytora tekstu lub arkusza kalkulacyjnego)

teraz jesteś gotowy do przesłania nowego pliku CSV do SpatialKey.

Postgres:

Postgres to kolejna popularna baza danych open source dla przedsiębiorstw. Podobnie jak w MySQL, istnieje wiele narzędzi innych firm (w tym pgAdmin z Postgres) do zarządzania i administrowania bazą danych. Najlepszym sposobem na eksport danych CSV z Postgres jest użycie specjalnego polecenia SQL Postgres o nazwie COPY:

COPY (SELECT column_a,column_b FROM whatever) TO '/tmp/dump.csv' WITH CSV HEADER

To polecenie jest niezwykle szybkie i tworzy odpowiednio sformatowany plik CSV zawierający nagłówki.

teraz jesteś gotowy do przesłania nowego pliku CSV do SpatialKey.

MS SQL Server:

SQL Server jest komercyjnie dostępną bazą danych firmy Microsoft (istnieje również mniejsza, mniej funkcjonalna wersja o nazwie SQL Server Express, która jest dostępna do pobrania za darmo). SQL Server to gotowa baza danych dla przedsiębiorstw używana przez wiele firm na całym świecie. Z biegiem lat powstało wiele narzędzi do zarządzania zarówno od stron trzecich, jak i od firmy Microsoft (na przykład Enterprise Manager, Management Studio I MS Developer Studio). Dwie opcje eksportu jako CSV z serwera MS SQL to użycie narzędzia wiersza poleceń BPC (Bulk Copy Program) lub usługi transformacji danych.

BCP:

program do kopiowania zbiorczego może być wykonywany z linii poleceń lub przez SQL.

  • Wiersz poleceń:
    • BCP<nazwa tabeli> out<nazwa pliku.csv> -c -t, -U <user name> -P <password> -S<server name>
    • Switches:
      • -c : export as ASCII with a tab delimiter and carriage return/line feed line terminator
      • -t, : override the tab delimiter with a comma
      • -U : username
      • -P : password
      • -S : server to connect to
  • SQL:
    • MS SQL Server ma polecenie Transact-SQL o nazwie xp_cmdshell, to polecenie pozwala na wykonywanie plików wykonywalnych z linii poleceń w SQL
    • xp_cmdshell BCP < nazwa tabeli> out <nazwa pliku.csv > -c-t, -T-s<nazwa serwera>
      • zauważ, że zmieniłem-U I – P na A-T, które używają zaufanego połączenia, ponieważ prawdopodobnie uwierzytelniamy się na maszynie SQL server już w celu uruchomienia polecenia SQL.

DTS:
Pakiety DTS mogą być tworzone przy użyciu skryptów SQL lub poprzez interfejs użytkownika MS.

  1. z poziomu Enterprise Manager wybierz> kreatory> transformacja danych> Eksportuj dane
  2. wybierz bazę źródłową
  3. dla docelowego pliku tekstowego wybierz i określ plik docelowy i nazwę pliku za pomocą a .rozszerzenie csv
  4. Ustaw tabelę lub zapytanie, aby pobrać dane z
  5. ustaw opcję, że pierwszy wiersz zawiera informacje o kolumnie
  6. na ekranie, aby wybrać separator, upewnij się, że wybrano przecinek
  7. Uruchom pakiet

teraz jesteś gotowy do przesłania nowego pliku CSV do SpatialKey.

Oracle:

Oracle jest dostępną na rynku bazą danych, która ma wielu zwolenników w dużych firmach. Podobnie jak SQL Server, Oracle jest bazą danych dla przedsiębiorstw. Opcje rozpakowywania do pliku CSV przy użyciu Oracle obejmują użycie Oracle SQL Developer (darmowe narzędzie od Oracle) i bezpośrednie użycie PL/SQL (zazwyczaj poprzez utworzenie procedury składowanej, ponieważ jest ona nieco bardziej oparta na kodzie niż inne rozwiązania bazodanowe).

programista Oracle SQL:

jest to zdecydowanie najprostszy sposób na eksport danych dla kogoś, kto nie zna złożonych procedur składowanych PL/SQL.

jednym ze sposobów jest utworzenie raportu w SQL Developer I wyeksportowanie wyników

  1. po utworzeniu i uruchomieniu raportu kliknij prawym przyciskiem myszy siatkę wyników i wybierz „Eksportuj” z menu kontekstowego
  2. na następnym ekranie wybierz CSV jako format i wprowadź nazwę pliku.plik csv i lokalizacja

Możesz również wyeksportować pojedynczą tabelę za pomocą:

  1. kliknij prawym przyciskiem myszy nazwę tabeli w widoku drzewa obiektów.
  2. wybierz Eksportuj.
  3. Wybierz plik CSV. Pojawi się okno Eksportuj dane.
  4. kliknij kartę Formatuj.
  5. Wybierz Format jako: CSV
  6. wprowadź nazwę pliku i lokalizację.
  7. kliknij zakładkę kolumny.
  8. Sprawdź kolumny, które chcesz wyeksportować
  9. Kliknij gdzie i dodaj dowolne kryteria potrzebne do filtrowania danych
  10. kliknij Zastosuj.

PL/SQL:

najlepszym sposobem na eksport danych za pomocą PL / SQL jest utworzenie procedury składowanej, która używa polecenia UTL_FILE.

aby uzyskać świetny przykład procedury składowanej, zapoznaj się z tym artykułem na oracle.com. Zauważ, że w komentarzach jest zalecana zmiana oryginalnej procedury składowanej (poprawnie obsługuje cytowanie danych za pomocą zarezerwowanych znaków CSV).

teraz jesteś gotowy do przesłania nowego pliku CSV do SpatialKey.

Enterprise Data Publisher:

dla naszych klientów korporacyjnych, którzy mają duże ilości danych do zaimportowania lub potrzebują często aktualizowanych danych do SpatialKey, oferujemy dodatkowy produkt o nazwie Enterprise Data Publisher. Jest to produkt oparty na usługach, który działa za kulisami (i zapory), które można zaplanować, aby automatycznie wypchnąć dane do SpatialKey z baz danych. Jeśli chcesz dowiedzieć się więcej o możliwościach i kosztach Enterprise Data Publisher, wyślij nam wiadomość e-mail, przechodząc do naszej strony Kontakt. Chętnie pomożemy Ci w zaspokojeniu Twoich potrzeb w zakresie danych!

podsumowując, SpatialKey potrzebuje Twoich danych, aby zabłysnąć! Tworzenie danych z istniejącej bazy danych nie musi być trudnym zadaniem, jak pokazują powyższe kroki, i jest ważnym pierwszym krokiem do prawdziwego odblokowania danych!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *