Tableau och ODBC

Tableau har inbyggda kopplingar för många databaser. Kopplingarna drar fördel av funktionerna och optimeringarna som är specifika för dessa datakällor och har utvecklats och testats för att säkerställa att de är robusta med höga prestanda.

Men kanske arbetar du med en databas som Tableau inte har någon koppling för. I så fall kanske du ändå kan ansluta Tableau till databasen. Tableau har en koppling som bygger på ODBC-standarden. Genom att använda ODBC kan du komma åt alla datakällor som stöder SQL-standarden och som implementerar ODBC-API:et.

Grunderna om ODBC

ODBC (Open Database Connectivity) är en branschstandard som gör att en rad olika typer av programvara kan komma åt data. ODBC bygger på en standardsyntax för SQL-frågor som används av program för att ansluta till och begära data från databaser. ODBC-drivrutinen, som ofta tillhandahålls av databasleverantören, tar emot begäranden som följer den här standardsyntaxen och konverterar dem sedan till det interna format som måldatabasen föredrar. ODBC-drivrutinen fungerar som ett översättningslager som konverterar en allmän begäran till en databasspecifik begäran.

I ODBC-specifikationen står det till exempel att datum ska anges i SQL-satser med syntaxen: {d 'yyyy-mm-dd'}. Det här formatet översätts sedan av drivrutinen till rätt datumsyntax för databasen i fråga. Om du använder ODBC-kopplingen för att ansluta till en Oracle-databas skickar ODBC-kopplingen en begäran till ODBC-drivrutinen för Oracle i följande format:

select name from emp where birthdate > {d '1987-12-29'}

Drivrutinen konverterar begäran till det format som Oracle-databasen kräver, som är:

select name from emp where birthdate > '29-DEC-87'

ODBC-specifikationen innehåller syntax för att skapa funktionsbegäranden, syntax för kopplingar, datatyper och datatypskonverteringar. Själva SQL-språket stöder komplexa koncept som till exempel kapslade frågor, korrelerade underordnade frågor, tillfälliga tabeller och en rad funktioner som bland annat kan användas i select-, where-, group by- och join-satser. ODBC-drivrutinen ansvarar för att alla dessa begäranden konverteras korrekt till den syntax som används av måldatabasen.

Hur Tableau identifierar ODBC-drivrutinens funktioner

Olika databasleverantörer implementerar funktioner i ODBC-standarden på olika sätt. Tableau använder ett funktionsidentifierings-API i ODBC för att fråga en databasdrivrutin vilka funktioner den stöder. Ett exempel på hur Tableau ändrar beteendet baserat på vad drivrutinen rapporterar är listan med tillgängliga funktioner när ett beräknat fält skapas. Färre drivrutinsbegränsningar betyder att fler funktioner är tillgängliga.

I vissa fall kräver Tableau att du skapar ett dataextrakt från de data som returneras av ODBC-kopplingen. Det finns också ODBC-drivrutiner och databaser som Tableau inte kan ansluta till.

ODBC-identifiering

I samband med den första anslutningen kör Tableau begäranden till drivrutinen och SQL-identifieringsfrågor för att ta reda på vilka funktioner drivrutinen stöder.

Här är några exempel på vilken information som hämtas under funktionsidentifieringen i Tableau:

  • Tillgängliga skalära och aggregerade funktioner.

  • Tillgängliga funktioner för datum- och tidsjustering.

  • Kan du skapa tillfälliga tabeller?

  • Kan du använda IF och SELECT i satser?

  • Stöds underordnade frågor?

  • Stöds Top N- och limit-frågor?

  • Vilka kopplingstyper stöds (yttre, inre och/eller fullständig)?

  • Datatyper som stöds.

Baserat på resultatet från funktionsidentifieringen klassificeras den aktuella anslutningen i någon av fyra kategorier:

  • Full funktionalitet. Det här är en drivrutin som stöder alla funktioner som används i Tableau.

  • Små begränsningar. Det här är en drivrutin som har några få mindre viktiga begränsningar. Ett exempel kan vara en drivrutin som inte stöder samtliga nummer-, sträng- eller datumfunktioner som Tableau normalt tillhandahåller. Tableau anpassar sitt beteende efter dessa begränsningar och fortsätter.

  • Viktiga begränsningar. Det här är en drivrutin som har många begränsningar eller viktiga funktioner som Tableau är beroende av men som inte stöds. Trots förekomsten av viktiga begränsningar är det möjligt att Tableau kan upprätta en tillräckligt bra anslutning för att skapa ett Tableau-extrakt och hämta data till Tableau, som sedan kan användas offline från databasen. I detta fall rekommenderar Tableau att du skapar ett extrakt. När du skapar extraktet är det inte säkert att du kan tillämpa ett filter på databasen för att minska mängden data i extraktet. (Mer information finns i Filtrera data från datakällor.) När alla data har extraherats är samtliga Tableau-funktioner tillgängliga när du arbetar med extrakt.

  • Kritiska begränsningar. Det här är en drivrutin som i princip inte stöder några av de funktioner som Tableau behöver för att kunna ansluta och köra de grundläggande frågor som krävs för att skapa extraktfiler. I detta fall går det inte att använda drivrutinen och Tableau kan inte fortsätta.

Om Tableau konstaterar att de funktioner som är tillgängliga på något sätt begränsar anslutningen så visas ett meddelande om detta när anslutningen har upprättats. För en anslutning till en ODBC-drivrutin med små begränsningar visas exempelvis följande meddelande:

För mer kritiska begränsningar uppmanas du att skapa ett Tableau-extrakt för att kunna fortsätta.

Justera ODBC-anslutningens prestanda

Tableau stöder möjligheten att anpassa ODBC-dataanslutningen, vilket kan förbättra anslutningen. Mer information finns i Anpassa och ställa in en anslutning.

Stöd för ODBC-anslutningar i Tableau

Tableau vare sig garanterar eller gör gällande att Tableau kan ansluta till eller köra frågor mot data med specifika ODBC-drivrutiner eller databaser. Vissa ODBC-drivrutiner stöder fullständig Tableau-interaktivitet, medan andra kanske bara fungerar för att skapa extrakt. Vissa ODBC-drivrutiner kanske inte fungerar med Tableau.

Obs! Tableau erbjuder kundsupport på rimliga nivåer för felsökning av anslutningar med ODBC-drivrutiner. Dock har vi inte möjlighet att skapa eller anpassa en anslutning så att den fungerar med en specifik ODBC-drivrutin.

Obs! För Tableau Desktop version 2023.3 och senare stöds inte längre 32-bitars ODBC-drivrutiner. Endast 64-bitars drivrutiner visas i listrutemenyerna DSN (Data Source Name) och Drivrutiner.

Vanliga frågor och svar om ODBC

Vad är ett typiskt användningsscenario med ODBC-kopplingen?

Allra vanligast är att en ODBC-koppling används för att komma åt och hämta in data till ett Tableau-extrakt. När dessa data har hämtats till Tableau-extraktet kan de användas med alla funktioner i Tableau. Många ODBC-drivrutiner stöder de funktioner som krävs för att ansluta och köra de grundläggande frågor som krävs för att skapa ett extrakt. Vare sig du extraherar alla data eller bara väljer några få kolumner och tillämpar några filter för att hämta en relevant delmängd data, så är den här typen av ODBC-användning något att ha i åtanke.

Var kan jag få tag i ODBC-drivrutiner till min databas?

De flesta databasleverantörerna distribuerar ODBC-drivrutiner för sina databaser. Kontakta din databasleverantör och be om drivrutinerna. Det finns också ett antal tredjepartstillverkare av ODBC-drivrutiner som tillhandahåller drivrutiner för många vanliga databaser.

Vilken version av ODBC-drivrutinen behöver jag?

Se till att du har minst version 3 av ODBC-drivrutinen, vilket betyder att den implementerar version 3 av ODBC-specifikationen. Olika drivrutinsleverantörer använder olika versionsnumreringssystem för sina drivrutinsversioner, som inte alltid matchar det ODBC-versionsnummer som de implementerar. Eftersom ODBC version 3-specifikationen togs fram redan 1995 är det troligt att din databasleverantör har en drivrutin med kompatibilitet på den här nivån. Tableau-kunder med drivrutiner som inte är kompatibla med version 3 (som inte kan ansluta) behöver ofta bara uppgradera till en nyare drivrutin för att kunna fortsätta.

Har Tableau testat databas [x]?

Tableau har testat ODBC-anslutningar med många datakällor. På grund av det stora antalet tillgängliga ODBC-drivrutiner som finns har vi dock inte testat alla tänkbara drivrutiner, och vi har inte heller möjlighet att göra det. Den bästa rekommendationen för en specifik drivrutin är att prova, och sedan meddela oss hur den fungerar.

Vad gör jag om den inte fungerar?

Börja med att kontrollera drivrutinsversionen. Titta i Tableau-loggarna så ser du att vi skickar tillbaka den ODBC-versionsnivå som drivrutinen rapporterar. Sök i loggarna efter en post liknande den här:

ODBCProtocol: driver ODBC version: 03.52

Numret i slutet anger ODBC-versionsnivån. Om den är mindre än 03.00 måste drivrutinen uppgraderas.

Om du får varningar om inkompatibla funktioner när du ansluter kontaktar du databasleverantören och frågar om de har en uppdaterad drivrutin som stöder fler funktioner. Alla drivrutiner fungerar inte med Tableau.

Ska jag använda den namngivna databaskopplingen eller ODBC-kopplingen?

Om du ansluter till en databas som har en namngiven koppling i Tableau använder du den kopplingen. De namngivna kopplingarna är optimerade för den specifika databasen.

Se även

Andra databaser (ODBC) – Beskriver hur du ansluter till dina data med hjälp av ODBC-kopplingen.

Anpassa och ställa in en anslutning – Beskriver hur du kan anpassa funktioner och prestanda genom att anpassa anslutningsinformationen.

Referens för funktionsanpassningar i Tableau – Listar anpassningar som du kan använda för att definiera vilka Tableau-funktioner som stöds av datakällan.

ODBC/SQL-anpassningsreferens – Listar anpassningar som representerar de delar av ODBC- och SQL-standarderna som ODBC-drivrutinen rapporterar att den stöder.

Tack för din feedback!Din feedback har skickats in. Tack!