exportera Data från Databas till CSV-fil

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

SpatialKey kräver att data laddas upp och importeras via en CSV-fil innan en dataset kan importeras. Vi har försökt göra importprocessen så rolig och enkel som möjligt, men SpatialKey kan inte hjälpa dig att få dina data till CSV-format. I många fall kommer värdefulla data du behöver tillgång till att låsas in i en databas. Det finns många typer av databaser, och de flesta av dem har möjligheter att hjälpa till att få dina data exporterade till ett CSV-format men de är vanligtvis specifika för databasen i fråga.

detta mål med denna artikel är att undersöka hur man får data till ett CSV-format från många av de mer poplar databaser och databashanteringssystem på marknaden idag. Om du inte har tillgång till databasen där dina data finns och har en Databasadministratör eller IT-Personal som genererar dina rapporter åt dig, skicka länken till den här artikeln när du begär data för SpatialKey eftersom det kan spara dem lite tid också.

Observera att den här artikeln handlar om användning av SQL-kommandon (Structured Query Language) som behövs för att köra mot en databas och är avsedd för användare som är bekanta med SQL och verktyg för databasen de vanligtvis använder.

Microsoft Access:

Microsoft Access är en populär filbaserad databas som vanligtvis används av små organisationer med begränsat antal användare och av individer också. MS Access-data kan nås med MS Access-applikationen på ett visuellt sätt såväl som genom traditionella SQL-baserade metoder. Eftersom MS Access nyligen har genomgått en stor förändring av användargränssnittet kommer vi att utforska både 2007 och 2003-versionerna av applikationen (om du arbetar med en äldre version bör liknande tekniker också vara tillgängliga).

Access 2007:

i den första siffran (1.1) Du kan se att jag har öppnat standardexempeldatabasen som följer med MS Access (kallad Northwind). Jag har också valt frågan som heter”topp tio beställningar efter försäljningsbelopp”. Till den här frågan Har jag lagt till kundadressinformation eftersom SpatialKey älskar data som innehåller temporal (tid och datum) och geospatial (data som kan översättas till en plats) data.

Fig. 1.1-MS Access 2007

Härifrån kan jag enkelt exportera resultaten till en CSV-fil:

  1. Klicka på tabellen eller frågan att exportera från (i det här exemplet ”topp tio beställningar efter försäljningsbelopp” till vänster)
  2. Klicka på fliken ”Externa Data” högst upp i fönstret
  3. i avsnittet ”Exportera” klickar du på ”textfil” och en guide visas
  4. i avsnittet ”Exportera” klickar du på ”textfil” och en guide visas
  5. välj en plats för den exporterade CSV och namnge filen (se till att filen slutar med en .klicka på OK
  6. på nästa skärm se till att alternativet ”avgränsat” är valt
  7. Klicka på knappen ”Avancerat…” längst ner till vänster i fönstret
  8. SpatialKey lagrar sina data som Unicode UTF-8, Vi måste se till att data exporteras i detta format
    1. Klicka på rullgardinsmenyn bredvid kodsidan
    2. Välj Unicode (UTF-8) i alternativlistan
    3. klicka på OK
  9. tillbaka i fönstret exportera text klicka på ”nästa”
  10. var noga med att ”komma” väljs som avgränsare och textkvalificerare är ett dubbelt citat: ”
  11. Klicka på kryssrutan” Inkludera fältnamn på första raden ”(ska väljas)
  12. Klicka på”Nästa ”
  13. verifiera filnamnet och platsen och klicka på”Slutför”
  14. den sista skärmen i guiden ger dig möjlighet att spara stegen som möjliggör enkel återexport av data i framtiden. Om du räknar med att behöva uppdatera data i SpatialKey gå vidare och markera kryssrutan för att spara lite tid i framtiden. Stäng fönstret när du är klar.

om du öppnar filen i en textredigerare bör du se något så här:

Fig. 1.2-exporterade Northwind Data

Nu är du redo att ladda upp den nya CSV-filen till SpatialKey.

MS Access 2003:

nästa figur visar den äldre MS Access 2003-versionen av Northwind-databasen. Jag kommer att exportera den sparade frågan som heter” order Qry ” till vänster.

Fig. 1.3-MS Access 2003 Northwind databas

låter exportera CSV:

  1. se till att tabellen eller frågan är vald och klicka på Arkiv-menyn och välj ” Exportera…”
  2. exportguiden börjar
  3. Välj platsen för exporterade data och namnge filen (var noga med att ställa in filtillägget som .CSV)
  4. ändra Spara som typ: till ” textfiler ”
  5. Klicka på”Exportera”

Följ stegen 6-14 under Access 2007-instruktionerna ovan eftersom de är desamma från denna punkt på

Nu är du redo att ladda upp den nya CSV-filen till SpatialKey.

MySQL:

MySQL är en populär öppen källkod enterprise ready databas. Det finns många verktyg tillgängliga för att interagera med den här databasen, men som med de flesta företagsdatabaser sker mest åtkomst via strukturerat frågespråk. Det finns några alternativ att exportera data till CSV från MySQL. Vissa kräver verktyg från tredje delen, medan en annan använder ett kommandoradsverktyg (användbart på Unix-maskiner) och ett sista alternativ via SQL. Låt oss ta en titt på de två sista alternativen:

MySQL kommandoradsverktyg (på Unix):

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

Så vad betyder allt detta?

  • mysql : den körbara filen (ska vara där MySQL är installerat)
  • -u exampleuser : en switch och alternativ för användarnamnet att köra SQL med
  • -p letmein : en switch och alternativ för användarens lösenord
  • exampledb : databasen för att köra SQL mot
  • -B : instruerar att utmatningen ska vara flikavgränsad (vi konverterar detta till kommatecken senare i kommandot)
  • -e ”sql-uttalandet här” : SQL-satsen för att köra returnera dina data
  • | sed ’S/\t/”,”/G;S/^/”/;S/$/”/;S/\N//G’ : sed är en Unix stream-processor, som i huvudsak tillåter transformationer i detta fall. Här har vi fyra sed-kommandon som ändrar flikarna till dubbla citat, lägger till dubbla citat i början och slutet av varje rad och lägger till en ny radmarkör i slutet av varje rad.
  • filnamn.csv: matar ut resultaten till filen med namnet filnamn.csv

Nu är du redo att ladda upp den nya CSV-filen till SpatialKey.

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;

MySQL select-satsen använder ett INTO OUTFILE-kommando för att mata ut resultaten från SQL select till en fil (i detta fall/tmp / resultat.csv).

ett par anteckningar:

  • i båda fallen sparas filen på en plats där databasen körs från (på samma maskin eller till en mount/drive tillgänglig för maskinen)
  • rubrikraden måste läggas till i båda filerna (vilket kan göras med valfri textredigerare eller kalkylprogram)

Nu är du redo att ladda upp den nya CSV-filen till SpatialKey.

Postgres:

Postgres är en annan populär öppen källkod enterprise ready databas. I likhet med MySQL finns det många tredjepartsverktyg (inklusive PGAdmin från Postgres) för att hantera och administrera databasen. Det bästa alternativet för att exportera CSV-data från Postgres är att använda ett Postgres-specifikt SQL-kommando som heter COPY:

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

detta kommando är extremt snabbt och producerar en korrekt formaterad CSV-fil inklusive rubrikerna.

Nu är du redo att ladda upp den nya CSV-filen till SpatialKey.

MS SQL Server:

SQL Server är en kommersiellt tillgänglig databas från Microsoft (det finns en mindre, mindre utrustad version som heter SQL Server Express också som är tillgänglig för nedladdning gratis). SQL Server är en enterprise ready databas som används av många företag runt om i världen. Under åren har det funnits många hanteringsverktyg både från tredje part och från Microsoft (Enterprise Manager, Management Studio och till exempel via MS Developer Studio). Två alternativ för att exportera som CSV från en MS SQL-Server är användningen av kommandoradsverktyget BPC (Bulk Copy Program) eller genom Datatransformationstjänster.

BCP:

Bulkkopieringsprogram kan utföras från en kommandorad eller via SQL.

  • kommandorad:
    • BCP <tabellnamn out <filnamn.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 har ett Transact-SQL-kommando som heter xp_cmdshell, det här kommandot låter dig köra kommandoradsexekverbara filer från i SQL
    • xp_cmdshell BCP <tabellnamn out <filnamn.csv -c-T, -T-s<servernamn
      • Observera att jag ändrade-U och – P till a-T som använder en betrodd anslutning som vi förmodligen autentiserar till SQL server-maskinen redan för att köra SQL-kommandot.

DTS:
DTS-paket kan skapas med SQL-skript eller via ett MS-användargränssnitt.

  1. från Enterprise Manager Välj guider Data Transformation exportera Data
  2. Välj din källdatabas
  3. för destinationen välj textfil och ange målfilen och filnamnet med A .CSV-förlängning
  4. Ställ in tabellen eller frågan för att dra data från
  5. ange alternativet att första raden innehåller kolumninformation
  6. på skärmen för att välja avgränsare, se till att kommatecken är vald
  7. kör paketet

Nu är du redo att ladda upp den nya CSV-filen till SpatialKey.

Oracle:

Oracle är en kommersiellt tillgänglig databas som har en stor följd i stora företag. Liksom SQL Server är Oracle en enterprise ready-databas. Alternativ för att extrahera till CSV med Oracle inkluderar att använda Oracle SQL Developer (ett gratis verktyg från Oracle) och direkt använda PL/SQL (vanligtvis genom att skapa en lagrad procedur eftersom den är lite mer kodbaserad än de andra databaslösningarna).

Oracle SQL Developer:

detta är överlägset det enklaste sättet för någon som inte känner till komplexa PL / SQL-lagrade procedurer att exportera data.

ett sätt att göra detta är att skapa en rapport i SQL Developer och exportera resultaten

  1. när rapporten har skapats och körts, högerklicka på resultatnätet och välj ”Exportera” från snabbmenyn
  2. på nästa skärm välj CSV som format och ange i filnamnet.csv och plats

Du kan också exportera en enda tabell genom att:

  1. högerklicka på tabellnamnet i objektträdvyn.
  2. välj Exportera.
  3. Välj CSV. Fönstret exportera Data visas.
  4. Klicka på fliken Format.
  5. Välj Format som: CSV
  6. ange ett filnamn och en plats.
  7. Klicka på fliken Kolumner.
  8. kontrollera kolumnerna du vill exportera
  9. Klicka på fliken där och Lägg till eventuella kriterier som behövs för att filtrera data
  10. Klicka på Apply.

PL/SQL:

det bästa sättet att exportera data via PL/SQL är att skapa en lagrad procedur som använder kommandot UTL_FILE.

för ett bra exempel lagrad procedur för detta, se den här artikeln på oracle.com. Observera att det finns en rekommenderad ändring av den ursprungliga lagrade proceduren i kommentarerna (hanterar korrekt citering av data med reserverade CSV-tecken).

Nu är du redo att ladda upp den nya CSV-filen till SpatialKey.

Enterprise Data Publisher:

för våra företagskunder som har stora mängder data att importera eller behöver ofta uppdaterade data till SpatialKey, erbjuder vi en ytterligare produkt som heter Enterprise Data Publisher. Det här är en servicebaserad produkt som körs bakom kulisserna (och din brandvägg) som kan schemaläggas för att automatiskt skicka data till SpatialKey från dina databaser. Om du är intresserad av att ta reda på mer om funktionerna och kostnaden för Företagsdatautgivaren, skicka oss ett mail genom att gå till vår kontaktsida. Vi hjälper dig gärna med dina databehov!

Sammanfattningsvis behöver SpatialKey dina data för att lysa! Att producera data från en befintlig databas behöver inte vara en skrämmande uppgift som stegen ovan visar, och är ett viktigt första steg för att verkligen låsa upp dina Data!

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *