Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR: NoSQL
Den här artikeln beskriver hur du installerar och använder ODBC-drivrutinen för Azure Cosmos DB för att skapa normaliserade tabeller och vyer för dina Azure Cosmos DB-data. Du kan köra frågor mot normaliserade data med SQL-frågor eller importera data till Power BI eller annan BI- och analysprogramvara för att skapa rapporter och visualiseringar.
Azure Cosmos DB är en schemalös databas som möjliggör snabb programutveckling och gör att du kan iterera på datamodeller utan att vara begränsad till ett strikt schema. En enda Azure Cosmos DB-databas kan innehålla JSON-dokument med olika strukturer. Om du vill analysera eller rapportera om dessa data kan du behöva platta ut data för att passa in i ett schema.
ODBC-drivrutinen normaliserar Azure Cosmos DB-data i tabeller och vyer som passar dina dataanalys- och rapporteringsbehov. Med normaliserade scheman kan du använda ODBC-kompatibla verktyg för att komma åt data. Schemana har ingen effekt på underliggande data och kräver inte att utvecklarna följer dem. ODBC-drivrutinen hjälper till att göra Azure Cosmos DB-databaser användbara för dataanalytiker och utvecklingsteam.
Du kan utföra SQL-åtgärder mot de normaliserade tabellerna och vyerna, inklusive gruppera efter frågor, infogningar, uppdateringar och borttagningar. Drivrutinen är ODBC 3.8-kompatibel och stöder ANSI SQL-92-syntax.
Viktigt!
Överväg att använda Azure Synapse Link för Azure Cosmos DB för att skapa tabeller och vyer för dina data. Synapse Link har distinkta prestandafördelar för stora datamängder jämfört med ODBC-drivrutinen. Du kan också ansluta normaliserade Azure Cosmos DB-data till andra programvarulösningar, till exempel SQL Server Integration Services (SSIS), QlikSense, Tableau och andra analysprogram, BI och dataintegreringsverktyg. Du kan använda dessa lösningar för att analysera, flytta, transformera och skapa visualiseringar med dina Azure Cosmos DB-data.
Viktigt!
- Anslutning till Azure Cosmos DB med ODBC-drivrutinen stöds för närvarande endast för Azure Cosmos DB för NoSQL.
- Den aktuella ODBC-drivrutinen stöder inte aggregerade pushdowns och har kända problem med vissa analysverktyg. Tills en ny version har släppts kan du använda något av följande alternativ:
- Azure Synapse Link är den föredragna analyslösningen för Azure Cosmos DB. Med serverlösa Azure Synapse Link- och Azure Synapse SQL-pooler kan du använda valfritt BI-verktyg för att extrahera insikter i nära realtid från Azure Cosmos DB SQL eller API för MongoDB-data.
- För Power BI kan du använda Azure Cosmos DB-anslutningsappen för Power BI.
- För Qlik Sense, se Ansluta Qlik Sense till Azure Cosmos DB.
Installera ODBC-drivrutinen och anslut till databasen
Ladda ned drivrutinerna för din miljö:
Installatör Operativsystem som stöds Microsoft Azure Cosmos DB ODBC 64-bit.msi för 64-bitars Windows 64-bitarsversioner av Windows 8.1 eller senare, Windows 8, Windows 7. 64-bitarsversioner av Windows Server 2012 R2, Windows Server 2012 och Windows Server 2008 R2. Windows 10. Windows Server 2012 R2. Windows Server 2016 Microsoft Azure Cosmos DB ODBC 32x64-bit.msi för 32-bitarsinstallation på 64-bitars Windows 64-bitarsversioner av Windows 8.1 eller senare, Windows 8, Windows 7, Windows XP, Windows Vista. 64-bitarsversioner av Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2 och Windows Server 2003. Microsoft Azure Cosmos DB ODBC-32-bit.msi för 32-bitars Windows 32-bitarsversioner av Windows 8.1 eller senare, Windows 8, Windows 7, Windows XP och Windows Vista. Kör .msi-filen lokalt, som startar installationsguiden för Odbc-drivrutinsinstallationen i Microsoft Azure Cosmos DB.
Slutför installationsguiden med standardindata.
När drivrutinen har installerats skriver du ODBC-datakällor i Windows-sökrutan och öppnar ODBC-datakälladministratören.
Kontrollera att ODBC-drivrutinen för Microsoft Azure DocumentDB visas på fliken Drivrutiner .
Välj fliken Användar-DSN och välj sedan Lägg till för att skapa ett nytt namn på datakällan (DSN). Du kan också skapa ett system-DSN.
I fönstret Skapa ny datakälla väljer du Microsoft Azure DocumentDB ODBC-drivrutin och väljer sedan Slutför.
Fyll i följande information i DSN-installationsfönstret för DocumentDB ODBC-drivrutinen:
- Namn på datakälla: Ett användarvänligt namn för ODBC DSN. Det här namnet är unikt för det här Azure Cosmos DB-kontot.
- Beskrivning: En kort beskrivning av datakällan.
- Host: URI:n för ditt Azure Cosmos DB-konto. Du kan hämta den här informationen från sidan Nycklar i ditt Azure Cosmos DB-konto i Azure Portal.
- Åtkomstnyckel: Den primära eller sekundära, skrivbara eller skrivskyddade nyckeln från sidan Azure Cosmos DB-nycklar i Azure Portal. Det är bäst att använda skrivskyddade nycklar om du använder DSN för skrivskyddad databehandling och rapportering.
Om du vill undvika ett autentiseringsfel använder du kopieringsknapparna för att kopiera URI:n och nyckeln från Azure Portal.
- Kryptera åtkomstnyckel för: Välj det bästa valet baserat på vem som använder datorn.
Välj Testa för att se till att du kan ansluta till ditt Azure Cosmos DB-konto.
Välj Avancerade alternativ och ange följande värden:
REST API-version: Välj REST API-versionen för dina åtgärder. Standardvärdet är 2015-12-16.
Om du har containrar med stora partitionsnycklar som behöver REST API-version skriver du
2018-12-31och följer sedan2018-12-31.Frågekonsekvens: Välj konsekvensnivå för dina åtgärder. Standardvärdet är Session.
Antal återförsök: Ange antalet gånger som en åtgärd ska försöka utföras igen om den första begäran inte slutförs på grund av tjänsthastighetsbegränsning.
Schemafil: Om du inte väljer en schemafil söker drivrutinen igenom den första sidan med data för varje container för att fastställa dess schema, som kallas containermappning, för varje session. Den här processen kan orsaka lång starttid för program som använder DSN. Det är bäst att associera en schemafil med DSN.
Om du redan har en schemafil väljer du Bläddra, navigerar till filen, väljer Spara och väljer sedan OK.
Om du inte har någon schemafil ännu väljer du OK och följer sedan stegen i nästa avsnitt för att skapa en schemadefinition. När du har skapat schemat går du tillbaka till fönstret Avancerade alternativ för att lägga till schemafilen.
När du har valt OK för att slutföra och stänga DSN-installationsfönstret för DocumentDB ODBC-drivrutinen visas det nya användar-DSN på fliken Användar-DSN i fönstret ODBC-datakälladministratör .
Redigera Windows-registret för att stödja REST API-version 2018-12-31
Om du har containrar med stora partitionsnycklar som behöver REST API version 2018-12-31 följer du dessa steg för att uppdatera Windows-registret så att det stöder den här versionen.
På Start-menyn i Windows skriver du regedit för att hitta och öppna Registereditorn.
I Registereditorn navigerar du till sökvägen Dator\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC. INI.
Skapa en ny undernyckel med samma namn som ditt DSN, till exempel Contoso-kontots ODBC DSN.
Gå till den nya Contoso-kontots ODBC DSN-undernyckel och högerklicka om du vill lägga till ett nytt strängvärde :
Värdenamn: IgnoreSessionToken
Värdedata: 1
Skapa en schemadefinition
Det finns två typer av samplingsmetoder som du kan använda för att skapa ett schema: mappning av containrar eller mappning av tabellavgränsare. En samplingssession kan använda båda samplingsmetoderna, men varje container kan bara använda en av samplingsmetoderna. Vilken metod som ska användas beror på dina datas egenskaper.
Containermappning hämtar data på en containersida för att fastställa datastrukturen och transponerar containern till en tabell på ODBC-sidan. Den här samplingsmetoden är effektiv och snabb när data i en container är homogena.
Tabelldelimitermappning ger mer robust sampling för heterogena data. Den här metoden omfattar samplingen till en uppsättning attribut och motsvarande värden.
Om ett dokument till exempel innehåller en typegenskap kan du begränsa samplingen till värdena för den här egenskapen. Slutresultatet av samplingen är en uppsättning tabeller för vart och ett av de typvärden som du har angett. Type = Car producerar en biltabell , medan Type = Plane producerar en plantabell .
Följ dessa steg för att definiera ett schema. För mappningsmetoden table-delimiter vidtar du extra åtgärder för att definiera attribut och värden för schemat.
På fliken Användar-DSN i fönstret ODBC-datakälladministratör väljer du ditt Azure Cosmos DB-användar-DSN-namn och väljer sedan Konfigurera.
I fönstret För DSN-installation av DocumentDB ODBC-drivrutin väljer du Schemaredigerare.
I fönstret Schemaredigeraren väljer du Skapa ny.
Fönstret Generera schema visar alla samlingar i Azure Cosmos DB-kontot. Markera kryssrutorna bredvid de containrar som du vill prova.
Om du vill använda containermappningsmetoden väljer du Exempel.
Om du vill använda mappningen table-delimiter gör du följande för att definiera attribut och värden för att omfångsbegränsa exemplet.
Välj Redigera i kolumnen Mappningsdefinition för ditt DSN.
I fönstret Mappningsdefinition går du till Mappningsmetod och väljer Tabellavgränsare.
I rutan Attribut skriver du namnet på en avgränsaregenskap i dokumentet som du vill begränsa samplingen till, till exempel Stad. Tryck på Retur.
Om du vill begränsa samplingen till vissa värden för attributet du angav väljer du attributet och anger sedan ett värde i rutan Värde , till exempel Seattle, och trycker på Retur. Du kan lägga till flera värden för attribut. Kontrollera bara att rätt attribut har valts när du anger värden.
När du är klar med att ange attribut och värden väljer du OK.
I fönstret Generera schema väljer du Exempel.
På fliken Designvy förfinar du schemat. Designvyn representerar databasen, schemat och tabellen. Tabellvyn visar den uppsättning egenskaper som är associerade med kolumnnamnen, till exempel SQL-namn och källnamn.
För varje kolumn kan du ändra SQL-namnet, SQL-typen, SQL-längden, Skala, Precision och Nullable efter behov.
Du kan ange Dölj kolumn till sant om du vill undanta kolumnen från frågeresultat. Kolumner med namnet Dölj kolumn = sant returneras inte för markering och projektion, även om de fortfarande är en del av schemat. Du kan till exempel dölja alla nödvändiga egenskaper för Azure Cosmos DB-systemet som börjar med _. ID-kolumnen är det enda fält som du inte kan dölja eftersom det är den primära nyckeln i det normaliserade schemat.
När du har definierat schemat väljer du Spara fil>, navigerar till katalogen som du vill spara i och väljer Spara.
Om du vill använda det här schemat med ett DSN går du till DSN-installationsfönstret för DocumentDB ODBC-drivrutinen och väljer Avancerade alternativ. Välj rutan Schemafil , navigera till det sparade schemat, välj OK och välj sedan OK igen. Om du sparar schemafilen ändras DSN-anslutningen till omfånget till schemadefinierade data och struktur.
Skapa vyer
Du kan också definiera och skapa vyer i schemaredigeraren som en del av samplingsprocessen. Dessa vyer motsvarar SQL-vyer. Vyerna är skrivskyddade och är begränsade till valen och projektionerna av de definierade Azure Cosmos DB SQL-frågorna.
Följ dessa steg för att skapa en vy för dina data:
På fliken Exempelvy i fönstret Schemaredigeraren väljer du de containrar som du vill prova och väljer sedan Lägg till i kolumnen Visa definition .
I fönstret Visa definitioner väljer du Nytt. Ange ett namn för vyn, till exempel EmployeesfromSeattleView, och välj sedan OK.
I fönstret Redigera vy anger du en Azure Cosmos DB-fråga, till exempel:
SELECT c.City, c.EmployeeName, c.Level, c.Age, c.Manager FROM c WHERE c.City = "Seattle"Välj OK.
Du kan skapa så många vyer du vill. När du är klar med att definiera vyerna väljer du Exempel för att sampla data.
Viktigt!
Frågetexten i vydefinitionen får inte innehålla radbrytningar. Annars får vi ett allmänt fel när vi förhandsgranskar vyn.
Fråga med SQL Server Management Studio
När du har konfigurerat en DSN för Odbc-drivrutinsanvändare i Azure Cosmos DB kan du fråga Azure Cosmos DB från SQL Server Management Studio (SSMS) genom att konfigurera en länkad serveranslutning.
Installera SQL Server Management Studio och anslut till servern.
I SSMS-frågeredigeraren skapar du ett länkat serverobjekt för datakällan genom att köra följande kommandon. Ersätt
DEMOCOSMOSmed namnet på den länkade servern ochSDS Namemed datakällans namn.USE [master] GO EXEC master.dbo.sp_addlinkedserver @server = N'DEMOCOSMOS', @srvproduct=N'', @provider=N'MSDASQL', @datasrc=N'SDS Name' EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'DEMOCOSMOS', @useself=N'False', @locallogin=NULL, @rmtuser=NULL, @rmtpassword=NULL GO
Om du vill se det nya länkade servernamnet uppdaterar du listan över länkade servrar.
Om du vill fråga den länkade databasen anger du en SSMS-fråga. I det här exemplet väljer frågan från tabellen i containern med namnet customers:
SELECT * FROM OPENQUERY(DEMOCOSMOS, 'SELECT * FROM [customers].[customers]')
Kör frågan. Resultatet bör se ut ungefär så här:
attachments/ 1507476156 521 Bassett Avenue, Wikieup, Missouri, 5422 "2602bc56-0000-0000-0000-59da42bc0000" 2015-02-06T05:32:32 +05:00 f1ca3044f17149f3bc61f7b9c78a26df
attachments/ 1507476156 167 Nassau Street, Tuskahoma, Illinois, 5998 "2602bd56-0000-0000-0000-59da42bc0000" 2015-06-16T08:54:17 +04:00 f75f949ea8de466a9ef2bdb7ce065ac8
attachments/ 1507476156 885 Strong Place, Cassel, Montana, 2069 "2602be56-0000-0000-0000-59da42bc0000" 2015-03-20T07:21:47 +04:00 ef0365fb40c04bb6a3ffc4bc77c905fd
attachments/ 1507476156 515 Barwell Terrace, Defiance, Tennessee, 6439 "2602c056-0000-0000-0000-59da42bc0000" 2014-10-16T06:49:04 +04:00 e913fe543490432f871bc42019663518
attachments/ 1507476156 570 Ruby Street, Spokane, Idaho, 9025 "2602c156-0000-0000-0000-59da42bc0000" 2014-10-30T05:49:33 +04:00 e53072057d314bc9b36c89a8350048f3
Visa dina data i Power BI Desktop
Du kan använda ditt DSN för att ansluta till Azure Cosmos DB med alla ODBC-kompatibla verktyg. Den här proceduren visar hur du ansluter till Power BI Desktop för att skapa en Power BI-visualisering.
I Power BI Desktop väljer du Hämta data.
I fönstret Hämta data väljer du Annan>ODBC och sedan Anslut.
I fönstret Från ODBC väljer du den DSN som du skapade och väljer sedan OK.
I fönstret Åtkomst till en datakälla med hjälp av en ODBC-drivrutin väljer du Standard eller Anpassad och väljer sedan Anslut.
I fönstret Navigatör i den vänstra rutan expanderar du databasen och schemat och väljer tabellen. Resultatfönstret innehåller de data som använder schemat som du skapade.
Om du vill visualisera data i Power BI Desktop markerar du kryssrutan bredvid tabellnamnet och väljer sedan Läs in.
I Power BI Desktop väljer du fliken Data till vänster på skärmen för att bekräfta att dina data har importerats.
Välj fliken Rapport till vänster på skärmen, välj Nytt visuellt objekt i menyfliksområdet och anpassa sedan det visuella objektet.
Felsökning
Problem: Du får följande fel när du försöker ansluta:
[HY000]: [Microsoft][Azure Cosmos DB] (401) HTTP 401 Authentication Error: {"code":"Unauthorized","message":"The input authorization token can't serve the request. Please check that the expected payload is built as per the protocol, and check the key being used. Server used the following payload to sign: 'get\ndbs\n\nfri, 20 jan 2017 03:43:55 gmt\n\n'\r\nActivityId: 9acb3c0d-cb31-4b78-ac0a-413c8d33e373"}Lösning: Kontrollera att värdena för Host och åtkomstnyckel som du kopierade från Azure-portalen är korrekta och försök igen.
Problem: Du får följande fel i SSMS när du försöker skapa en länkad Azure Cosmos DB-server:
Msg 7312, Level 16, State 1, Line 44 Invalid use of schema or catalog for OLE DB provider "MSDASQL" for linked server "DEMOCOSMOS". A four-part name was supplied, but the provider does not expose the necessary interfaces to use a catalog or schema.Lösning: En länkad Azure Cosmos DB-server stöder inte namngivning i fyra delar.
Nästa steg
- Läs mer om Azure Cosmos DB i Välkommen till Azure Cosmos DB.
- Mer information om hur du skapar visualiseringar i Power BI Desktop finns i Visualiseringstyper i Power BI.