Microsoft Access (2007, 2003) | MySQL | Postgres | MS SQL Server | Oracle | Der Enterprise Data Publisher
SpatialKey erfordert, dass Daten über eine CSV-Datei hochgeladen und importiert werden, bevor ein Datensatz importiert werden kann. Wir haben versucht, den Importvorgang so unterhaltsam und einfach wie möglich zu gestalten, aber SpatialKey kann Ihnen nicht helfen, Ihre Daten in das CSV-Format zu bringen. In vielen Fällen werden die wertvollen Daten, auf die Sie zugreifen müssen, in einer Datenbank gespeichert. Es gibt viele Arten von Datenbanken, und die meisten von ihnen verfügen über Funktionen, mit denen Sie Ihre Daten in ein CSV-Format exportieren können.
Dieses Ziel dieses Artikels ist es zu untersuchen, wie man Daten in ein CSV-Format von vielen der Pappel Datenbanken und Datenbank-Management-Systeme auf dem Markt heute zu bekommen. Wenn Sie keinen Zugriff auf die Datenbank haben, in der sich Ihre Daten befinden, und einen Datenbankadministrator oder IT-Mitarbeiter haben, der Ihre Berichte für Sie erstellt, geben Sie den Link zu diesem Artikel weiter, wenn Sie Daten für SpatialKey anfordern, da dies ebenfalls Zeit sparen kann.
Bitte beachten Sie, dass sich dieser Artikel mit der Verwendung der SQL-Befehle (Structured Query Language) befasst, die für die Ausführung in einer Datenbank erforderlich sind.
Microsoft-Zugriff:
Microsoft Access ist eine beliebte dateibasierte Datenbank, die in der Regel von kleinen Organisationen mit einer begrenzten Anzahl von Benutzern und auch von Einzelpersonen verwendet wird. MS Access-Daten können mit der MS Access-Anwendung auf visuelle Weise sowie über herkömmliche SQL-basierte Ansätze abgerufen werden. Da MS Access kürzlich einer großen Änderung der Benutzeroberfläche unterzogen wurde, werden wir sowohl die 2007- als auch die 2003-Version der Anwendung untersuchen (wenn Sie mit einer älteren Version arbeiten, sollten ähnliche Techniken ebenfalls verfügbar sein).
Access 2007:
In der ersten Abbildung (1.1) Sie können sehen, dass ich die mit MS Access gelieferte Standardbeispieldatenbank (Northwind) geöffnet habe. Ich habe auch die Abfrage „Top Ten Orders by Sales Amount“ ausgewählt. Zu dieser Abfrage habe ich Kundenadressinformationen hinzugefügt, da SpatialKey Daten liebt, die zeitliche (Uhrzeit und Datum) und räumliche (Daten, die in einen Standort übersetzt werden können) Daten enthalten.
Abb. 1.1 – MS Access 2007
Von hier aus kann ich die Ergebnisse einfach in eine CSV-Datei exportieren:
- Klicken Sie auf die Tabelle oder Abfrage, aus der exportiert werden soll (in diesem Beispiel links „Top Ten Orders by Sales Amount“)
- Klicken Sie oben im Fenster auf die Registerkarte „External Data“
- Klicken Sie im Abschnitt „Export“ auf „Text File“ und ein Assistent wird angezeigt
- für die exportierte CSV und benennen Sie Ihre Datei (stellen Sie sicher, dass die Datei mit a endet.csv-Erweiterung)
- Klicken Sie auf OK
- Stellen Sie im nächsten Bildschirm sicher, dass die Option „Begrenzt“ ausgewählt ist
- Klicken Sie unten links im Fenster auf die Schaltfläche „Erweitert…“
- SpatialKey speichert seine Daten als Unicode UTF-8, wir müssen sicherstellen, dass die Daten in diesem Format exportiert werden
- Klicken Sie auf das Dropdown-Feld neben Code-Page
- Wählen Sie Unicode (UTF-8) in der li>
- Klicken Sie auf OK
- Klicken Sie zurück im Exporttextfenster auf „Weiter“
- Stellen Sie sicher, dass „Komma“ als Trennzeichen ausgewählt ist und das Textqualifikationsmerkmal ein doppeltes Anführungszeichen ist: „
- Aktivieren Sie das Kontrollkästchen „Feldnamen in die erste Zeile einfügen“ (sollte ausgewählt sein)
- Klicken Sie auf „Weiter“
- Überprüfen Sie den Dateinamen und den Speicherort und klicken Sie auf „Fertig stellen“
- Auf dem letzten Bildschirm des Assistenten können Sie die Schritte speichern, um die Daten in Zukunft einfach erneut exportieren zu können. Wenn Sie erwarten, dass Sie die Daten in SpatialKey aktualisieren müssen, aktivieren Sie das Kontrollkästchen, um in Zukunft Zeit zu sparen. Schließen Sie das Fenster, wenn Sie fertig sind.
Wenn Sie die Datei in einem Texteditor öffnen, sollten Sie Folgendes sehen:
Abb. 1.2 – Exportierte Nordwind-Daten
Jetzt können Sie die neue CSV-Datei in SpatialKey hochladen.
MS Access 2003:
Die nächste Abbildung zeigt die ältere MS Access 2003-Version der Northwind-Datenbank. Ich werde die gespeicherte Abfrage namens „Orders Qry“ auf der linken Seite exportieren.
Abb. 1.3 – MS Access 2003 Northwind Datenbank
Hier können Sie die CSV exportieren:
- Stellen Sie sicher, dass die Tabelle oder Abfrage ausgewählt ist, klicken Sie auf das Menü Datei und wählen Sie „Exportieren…“
- Der Exportassistent beginnt
- Wählen Sie den Speicherort für die exportierten Daten und benennen Sie Ihre Datei (stellen Sie sicher, dass Sie die Dateierweiterung als .csv)
- Ändern Sie den Typ Speichern unter: in „Textdateien“
- Klicken Sie auf „Exportieren“
Befolgen Sie die Schritte 6-14 unter den obigen Access 2007-Anweisungen, da sie ab diesem Zeitpunkt identisch sind
Jetzt können Sie die neue CSV-Datei in SpatialKey hochladen.
MySQL:
MySQL ist eine beliebte Open-Source-Datenbank für Unternehmen. Für die Interaktion mit dieser Datenbank stehen viele Tools zur Verfügung, aber wie bei den meisten Unternehmensdatenbanken erfolgt der meiste Zugriff über eine strukturierte Abfragesprache. Es gibt einige Optionen, um Daten aus MySQL in CSV zu exportieren. Einige erfordern Tools von Drittanbietern, während andere ein Befehlszeilentool (nützlich auf Unix-Computern) und eine letzte Option über SQL verwenden. Werfen wir einen Blick auf die letzten beiden Optionen:
MySQL-Befehlszeilentool (unter Unix):
mysql -u exampleuser -p letmein exampledb -B -e "select * from\'person\';" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > filename.csv
Was bedeutet das alles?
- mysql : die ausführbare Datei (sollte dort sein, wo MySQL installiert ist)
- -u exampleuser : ein Schalter und eine Option für den Benutzernamen, mit dem die SQL ausgeführt werden soll
- -p letmein : ein Schalter und eine Option für das Kennwort des Benutzers
- exampledb: Die Datenbank, mit der die SQL ausgeführt werden soll
- -B : weist an, dass die Ausgabe tabulatorgetrennt sein soll (wir werden dies später im Befehl in Kommas konvertieren)
- -e „die SQL-Anweisung hier “ : die SQL-Anweisung, die ausgeführt werden soll, um Ihre Daten zurückzugeben
- | sed ’s/\t/“,“/g;s/^/“/;s/$/“/;s/\n//g‘ : sed ist ein Unix-Stream-Prozessor, der in diesem Fall im Wesentlichen Transformationen ermöglicht. Hier haben wir vier sed-Befehle, die die Registerkarten in doppelte Anführungszeichen ändern, doppelte Anführungszeichen am Anfang und Ende jeder Zeile hinzufügen und am Ende jeder Zeile eine neue Zeilenmarkierung hinzufügen.
- > Dateiname.csv : Gibt die Ergebnisse in die Datei filename aus.csv
Nun können Sie die neue CSV-Datei in SpatialKey hochladen.
MySQL-SQL-Syntax:
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;
Die MySQL select-Anweisung verwendet einen INTO OUTFILE-Befehl, um die Ergebnisse der SQL select in eine Datei auszugeben (in diesem Fall /tmp/result.csv).
Ein paar Anmerkungen:
- In beiden Fällen wird die Datei an einem lokalen Speicherort gespeichert, von dem aus die Datenbank ausgeführt wird (auf demselben Computer oder auf einem für den Computer verfügbaren Mount / Laufwerk)
- Die Kopfzeile muss zu beiden Dateien hinzugefügt werden (was mit einem beliebigen Texteditor oder Tabellenkalkulationsprogramm erfolgen kann)
Jetzt können Sie die neue CSV-Datei in SpatialKey hochladen.
Postgres:
Postgres ist eine weitere beliebte Open Source Enterprise ready Datenbank. Ähnlich wie MySQL gibt es viele Tools von Drittanbietern (einschließlich pgAdmin von Postgres) zum Verwalten und Verwalten der Datenbank. Der beste Weg, CSV-Daten aus Postgres zu exportieren, ist die Verwendung eines Postgres-spezifischen SQL-Befehls namens COPY:
COPY (SELECT column_a,column_b FROM whatever) TO '/tmp/dump.csv' WITH CSV HEADER
Dieser Befehl ist extrem schnell und erzeugt eine ordnungsgemäß formatierte CSV-Datei einschließlich der Header.
Nun können Sie die neue CSV-Datei in SpatialKey hochladen.
MICROSOFT SQL Server:
SQL Server ist eine kommerziell erhältliche Datenbank von Microsoft (es gibt auch eine kleinere, weniger funktionsfähige Version namens SQL Server Express, die kostenlos heruntergeladen werden kann). SQL Server ist eine unternehmensfähige Datenbank, die von vielen Unternehmen auf der ganzen Welt verwendet wird. Im Laufe der Jahre gab es viele Verwaltungstools sowohl von Drittanbietern als auch von Microsoft (z. B. Enterprise Manager, Management Studio und über MS Developer Studio). Zwei Optionen für den Export als CSV von einem MS SQL Server sind die Verwendung des Befehlszeilentools BPC (Bulk Copy Program) oder über Datentransformationsdienste.
BCP:
Bulk Copy-Programm kann von einer Befehlszeile oder über SQL ausgeführt werden.
- Befehlszeile:
- BCP <Tabellenname> out <Dateiname.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 verfügt über einen Transact-SQL-Befehl namens xp_cmdshell, Mit diesem Befehl können Sie Befehlszeilen-ausführbare Dateien von in SQL ausführen
- xp_cmdshell BCP <Tabellenname> out <Dateiname.csv> -c -t, -Ts<servername>
- Beachten Sie, dass ich -U und – P in a –T geändert habe, das eine vertrauenswürdige Verbindung verwendet, da wir uns wahrscheinlich bereits beim SQL Server-Computer authentifizieren, um den SQL-Befehl auszuführen.
DTS:
DTS-Pakete können mit SQL-Skripten oder über eine MS-Benutzeroberfläche erstellt werden.
- Wählen Sie im Enterprise Manager > Assistenten > Datentransformation > Daten exportieren
- Wählen Sie Ihre Quelldatenbank
- Wählen Sie für das Ziel eine Textdatei aus und geben Sie die Zieldatei und den Dateinamen mit a an.csv-Erweiterung
- Legen Sie die Tabelle oder Abfrage fest, aus der die Daten abgerufen werden sollen
- Legen Sie die Option fest, dass die erste Zeile Spalteninformationen enthält
- Stellen Sie auf dem Bildschirm sicher, dass das Komma ausgewählt ist, um das Trennzeichen auszuwählen
- Führen Sie das Paket aus
Jetzt können Sie die neue CSV-Datei in SpatialKey hochladen.
Oracle:
Oracle ist eine kommerziell erhältliche Datenbank, die in großen Unternehmen eine große Anhängerschaft hat. Wie SQL Server ist Oracle eine unternehmensfähige Datenbank. Zu den Optionen zum Extrahieren in CSV mit Oracle gehören die Verwendung von Oracle SQL Developer (einem kostenlosen Tool von Oracle) und die direkte Verwendung von PL / SQL (im Allgemeinen durch Erstellen einer gespeicherten Prozedur, da diese etwas codebasierter ist als die anderen Datenbanklösungen).
Oracle SQL Developer:
Dies ist bei weitem der einfachste Weg für jemanden, der nicht mit komplexen PL / SQL-Prozeduren vertraut ist, um Daten zu exportieren.
Eine Möglichkeit, dies zu tun, besteht darin, einen Bericht in SQL Developer zu erstellen und die Ergebnisse zu exportieren
- Sobald der Bericht erstellt und ausgeführt wurde, klicken Sie mit der rechten Maustaste auf das Ergebnisraster und wählen Sie „Exportieren“ aus dem Kontextmenü
- Wählen Sie im nächsten Bildschirm CSV als Format und geben Sie den Dateinamen ein.csv und Speicherort
Sie können auch eine einzelne Tabelle exportieren, indem Sie mit der rechten Maustaste auf den Tabellennamen in der Objektbaumansicht klicken.
PL/SQL:
Der beste Weg, Daten über PL/SQL zu exportieren, besteht darin, eine gespeicherte Prozedur zu erstellen, die den Befehl UTL_FILE verwendet.
Ein großartiges Beispiel für eine gespeicherte Prozedur finden Sie in diesem Artikel unter oracle.com. Beachten Sie, dass es eine empfohlene Änderung an der ursprünglichen gespeicherten Prozedur in den Kommentaren gibt (behandelt das Zitieren von Daten mit reservierten CSV-Zeichen ordnungsgemäß).
Nun können Sie die neue CSV-Datei in SpatialKey hochladen.
Der Enterprise Data Publisher:
Für unsere Enterprise-Kunden, die große Datenmengen importieren müssen oder häufig aktualisierte Daten in SpatialKey benötigen, bieten wir ein zusätzliches Produkt namens Enterprise Data Publisher an. Dies ist ein servicebasiertes Produkt, das hinter den Kulissen (und Ihrer Firewall) ausgeführt wird und so geplant werden kann, dass Daten automatisch aus Ihren Datenbanken an SpatialKey gesendet werden. Wenn Sie mehr über die Funktionen und Kosten des Enterprise Data Publisher erfahren möchten, senden Sie uns bitte eine E-Mail, indem Sie auf unsere Kontaktseite gehen. Wir helfen Ihnen gerne bei Ihrem Datenbedarf!
Abschließend benötigt SpatialKey Ihre Daten, um zu glänzen! Das Erstellen von Daten aus einer vorhandenen Datenbank muss keine entmutigende Aufgabe sein, wie die oben aufgeführten Schritte zeigen, und ist ein wichtiger erster Schritt, um Ihre Daten wirklich freizuschalten!