sql >> Database >  >> RDS >> Database

Google BigQuery ODBC-stuurprogramma

We hebben een ODBC-stuurprogramma uitgebracht voor Google BigQuery. Met het stuurprogramma kunt u BigQuery-gegevens opvragen en bijwerken in andere toepassingen dan de Google BigQuery-console. We dachten dat we enkele dingen die u kunt doen in deze toepassingen van derden (bijvoorbeeld Perl, PHP, Excel en Oracle) met u delen.

Het BigQuery ODBC-stuurprogramma installeren

  1. Installeer en licentieer het Google BigQuery ODBC-stuurprogramma op de computer waarop de clienttoepassing is geïnstalleerd.

    Als u bijvoorbeeld met BigQuery-gegevens in Excel wilt werken, installeert u het BigQuery ODBC-stuurprogramma op de computer waarop Excel is geïnstalleerd.

    Voer hiervoor de bestandsdistributie uit en volg de instructies op het scherm.

    Het installatieprogramma start de Easysoft License Manager, omdat u de BigQuery ODBC Driver niet kunt gebruiken totdat een licentie is verkregen.

    De volgende soorten licenties zijn beschikbaar:

    • Gratis proeflicentie met beperkte tijd die u gratis en onbeperkt gebruik van het product geeft voor een beperkte periode (meestal 14 dagen).
    • Volledige licentie als je het product hebt gekocht. Bij aankoop van het product krijgt u een autorisatiecode die u gebruikt om een ​​licentie te verkrijgen
  2. Voer in Easysoft License Manager uw gegevens in.

    U MOET de velden Naam, E-mailadres en Bedrijf invoeren.

    Het e-mailadres MOET hetzelfde zijn als het adres dat is gebruikt om u te registreren en te downloaden van de Easysoft-website, anders kunt u geen proeflicenties verkrijgen.

  3. Kies Licentie aanvragen.

    U wordt gevraagd om een ​​licentietype.

  4. Voer een van de volgende handelingen uit:
    • Klik voor een proeflicentie op Time Limited Trial en klik vervolgens op Volgende.

      De licentiebeheerder vraagt ​​welke software u in licentie geeft. Selecteer Easysoft BigQuery ODBC-stuurprogramma in de vervolgkeuzelijst en klik vervolgens op Volgende.

    • Als u een autorisatiecode voor een gekochte licentie hebt verkregen, selecteert u Licentie niet-verlopen en klikt u op Volgende.

      De licentiebeheerder vraagt ​​om uw autorisatiecode.

      Voer de autorisatiecode in en klik vervolgens op Volgende.

  5. De Licentiemanager geeft een samenvatting weer van de informatie die u hebt ingevoerd en stelt u in staat de methode te kiezen om uw licentie aan te vragen.
  6. Voer een van de volgende handelingen uit:
    • Kies Online Verzoek als uw machine is verbonden met internet en uitgaande verbindingen kan maken met poort 8884.

      De License Manager stuurt vervolgens een verzoek naar de Easysoft-licentieserver om uw licentiesleutel automatisch te activeren. Dit is de snelste methode en zorgt ervoor dat uw gegevens onmiddellijk worden ingevoerd in onze ondersteuningsdatabase.

    • De overige drie opties (e-mailverzoek, afdrukverzoek en weergaveverzoek) zijn allemaal manieren om een ​​licentie te verkrijgen als uw machine offline is (d.w.z. geen verbinding met internet heeft).

      Elk van deze methoden houdt in dat u Easysoft informatie verstrekt, waaronder uw machinenummer (een nummer dat uniek is voor uw machine) en vervolgens wacht op het ontvangen van uw licentiesleutel.

      In plaats van uw gegevens naar Easysoft te e-mailen, kunt u ze rechtstreeks op de Easysoft-website invoeren en wordt uw licentiesleutel automatisch naar u gemaild.

      Om deze methode te gebruiken, klikt u op Verzoek bekijken en gaat u naar:

      • Pagina proeflicentie
      • Volledige licentiepagina

      Voer op de pagina Licentieverlening uw machinenummer (en autorisatiecode voor gekochte licentie) in, klik op Verzenden en uw licentiesleutel wordt naar u gemaild.

      Wanneer u de licentiesleutel ontvangt, kunt u deze activeren door te dubbelklikken op de e-mailbijlage of door te klikken op Licentie invoeren in het hoofdscherm van Licentiebeheer en de licentiesleutel in het dialoogvenster te plakken.

    • Kies Voltooien om Licentiebeheer af te sluiten.

      De installatie is voltooid.

Een ODBC-gegevensbron configureren

Voordat het BigQuery ODBC-stuurprogramma kan worden gebruikt om een ​​toepassing aan BigQuery te koppelen, moet een ODBC-gegevensbron worden geconfigureerd. Een ODBC-gegevensbron slaat de verbindingsdetails op voor de doeldatabase (bijvoorbeeld BigQuery) en het ODBC-stuurprogramma dat nodig is om er verbinding mee te maken (bijvoorbeeld het BigQuery ODBC-stuurprogramma).

ODBC-gegevensbronnen worden geconfigureerd in ODBC Administrator, dat bij Windows wordt geleverd. Hoe ODBC Administrator wordt uitgevoerd, hangt af van of uw toepassing 32-bits of 64-bits is:

  • Mijn applicatie is 32-bits

    Typ in het dialoogvenster Uitvoeren van Windows:

    %windir%\syswow64\odbcad32.exe

  • Mijn applicatie is 64-bits

    Open Systeem en beveiliging> Systeembeheer in het Configuratiescherm en open vervolgens ODBC-gegevensbronnen (64-bits). (Op Windows Server 2003 en eerder wordt de applet van het Configuratiescherm waarmee ODBC Administrator wordt gestart, Data Sources genoemd.)

Hoe weet u of een toepassing 32-bits of 64-bits is?

Toepassing Opmerkingen
Excel Er is zowel een 32-bits als een 64-bits versie van Excel. Als u wilt weten welke versie van Excel u hebt, start u Excel en start u vervolgens Windows Taakbeheer. Kies in Taakbeheer het tabblad Processen. Zoek naar Excel.exe in de lijst. Als deze procesnaam wordt gevolgd door *32 , uw versie van Excel is 32-bits. Anders is uw versie van Excel 64-bits.
GoodData CloudConnect Deigner is een 64-bits applicatie.
MicroStrategie MicroStrategy is een 32-bits applicatie.
Oracle De Oracle-component die samenwerkt met de MongoDB ODBC-driver wordt DG4ODBC genoemd. Er is zowel een 32-bits als een 64-bits versie van DG4ODBC. Om erachter te komen welke versie van DG4ODBC u heeft, start u Windows Taakbeheer en kiest u het tabblad Processen. Typ in een opdrachtpromptvenster dg4odbc --help . Zoek in Windows Taakbeheer naar het DG4ODBC-proces. Als de afbeeldingsnaam "dg4odbc.exe *32" is, is DG4ODBC 32-bits. Als de afbeeldingsnaam "dg4odbc.exe" is, is DG4ODBC 64-bits. Druk op CTRL+C in het opdrachtpromptvenster als u Windows Taakbeheer hebt gebruikt om de architectuur van DG4ODBC te achterhalen.
Oracle Business Intelligence Enterprise Edition (OBIEE) De OBIEE-component die samenwerkt met de MongoDB ODBC-driver wordt de Oracle BI Administration Tool genoemd. De Oracle BI-beheertool is 64-bits.
PHPRunner PHPRunner is een 32-bits applicatie.
QlikView QlikView is een 32-bits toepassing als het selectievakje Forceer 32 Bit is ingeschakeld. Anders is QlikView een 64-bits toepassing.
SAP BusinessObjects Central Management Server is een 64-bits applicatie. Business View Manager, Information Design Tool en Web Intelligence Rich Client zijn 32-bits toepassingen.
SAP Crystal-rapporten Crystal Reports is een 32-bits applicatie.
SQL-server Er is zowel een 32-bits als een 64-bits versie van SQL Server. Om erachter te komen welke versie van SQL Server u heeft, maakt u verbinding met uw SQL Server-instantie en voert u deze SQL-instructie uit:
select SERVERPROPERTY('edition')

Als u de 64-bits versie van SQL Server en . hebt een gekoppelde server met het BigQuery ODBC-stuurprogramma wilt gebruiken, is uw toepassing 64-bits.

Als u de 32-bits versie van SQL Server of . hebt SSIS wilt gebruiken met het BigQuery ODBC-stuurprogramma, is uw toepassing 32-bits.

Tabel Tableau is een 32-bits applicatie.
TIBCO Spotfire TIBCO Spotfire is een 64-bits applicatie.

In ODBC-beheerder:

  1. Kies het tabblad Systeem-DSN en kies vervolgens Toevoegen.
  2. Kies in het dialoogvenster Nieuwe gegevensbron maken de optie Easysoft ODBC-BigQuery Driver en kies vervolgens Voltooien.
  3. Vul deze velden in het dialoogvenster Easysoft ODBC-BigQuery Driver DSN Setup in:
    Instelling Waarde
    DSN BigQuery
    Token vernieuwen Kies het token Verifiëren en verkrijgen en verleen het BigQuery ODBC-stuurprogramma toestemming om toegang te krijgen tot uw BigQuery-gegevens om dit veld in te vullen.
  4. Maak in uw toepassing verbinding met uw nieuw geconfigureerde gegevensbron en voer een voorbeeldquery uit. Bijvoorbeeld:
    select * from MyTable limit 10

Werken met BigQuery-gegevens in Perl

Strawberry Perl is een Perl-distributie voor Windows die de benodigde middleware-lagen (Perl DBI en Perl DBD::ODBC) bevat om het BigQuery ODBC-stuurprogramma in staat te stellen uw Perl-toepassingen met BigQuery te verbinden.

  1. Hier is een Perl-script dat enkele BiqQuery-gegevens ophaalt:
    #!/usr/bin/perl -w
    use strict;
    use DBI;
    my $dbh = DBI-> connect('dbi:ODBC:MyBigQueryDataSource');
    
    my $sql = "SELECT residential_ratio  FROM `bigquery-public-data.hud_zipcode_crosswalk.census_tracts_to_zipcode` LIMIT 10";
    
    # Prepare the statement.
    my $sth = $dbh->prepare($sql)
        or die "Can't prepare statement: $DBI::errstr";
    
    # Execute the statement.
    $sth->execute();
    
    my($BigQueryCol);
    
    # Fetch and display the result set value.
    while(($BigQueryCol) = $sth->fetchrow()){
       print("$BigQueryCol\n");                   
    }
    
    $dbh->disconnect if ($dbh);
  2. Hier is een Perl-script dat enkele BigQuery-gegevens invoegt:
    #!/usr/bin/perl -w
    use strict;
    use warnings;
    use DBI;
    
    my $data_source = q/dbi:ODBC:MyBigQueryDataSource/;
    
    my $h = DBI-"connect($data_source)
        or die "Can't connect to $data_source: $DBI::errstr";
    $h->{RaiseError} = 1;
    
    my $s = $h->prepare(q/insert into MyTable(MyStringCol, MyIntegerCol, MyFloatCol, MyNumericCol, MyBooleanCol,MyDateCol,MyTimeCol,MyDateTimeCol,MyTimeStampCol) values(?,?,?,?,?,?,?,?,?)/);
    my $string='MyValue';
    my $int=46683;
    my $float=8.3;
    my $numeric=0.00333;
    my $bool=0;
    my $date='2021-01-23';
    my $time='00:00:20';
    my $datetime='2021-02-05 00:00:00';
    my $timestamp='2019-01-27 00:00:00';
    
    $s->bind_param(1, $string, DBI::SQL_WVARCHAR);
    $s->bind_param(2, $int, DBI::SQL_INTEGER);
    $s->bind_param(3, $float, DBI::SQL_FLOAT);
    $s->bind_param(4, $numeric, DBI::SQL_NUMERIC);
    #$s->bind_param(5, $bignumeric, DBI::SQL_WVARCHAR);
    $s->bind_param(5, $bool, DBI::SQL_TINYINT);
    $s->bind_param(6, $date, DBI::SQL_DATE);
    $s->bind_param(7, $time, DBI::SQL_TIME);
    $s->bind_param(8, $datetime, DBI::SQL_DATETIME);
    $s->bind_param(9, $timestamp, DBI::SQL_TIMESTAMP);
    $s->execute($string,$int,$float,$numeric,$bool,$date,$time,$datetime,$timestamp);
    $h->disconnect;
    	  
  3. Hier is een Perl-script dat een BigQuery-record bijwerkt:
    #!/usr/bin/perl -w
    use strict;
    use warnings;
    use DBI;
    
    my $data_source = q/dbi:ODBC:MyBigQueryDataSource/;
    
    my $h = DBI->connect($data_source)
        or die "Can't connect to $data_source: $DBI::errstr";
    $h->{RaiseError} = 1;
    
    my $s = $h->prepare(q/UPDATE MyTestTable SET MyStringCol = ? WHERE MyStringCol = 'MyValue' /);
    my $string='MyNewValue';
    
    $s->bind_param(1, $string, DBI::SQL_WVARCHAR);
    
    $s->execute($string);
    $h->disconnect;

Werken met BigQuery-gegevens in PHP

  1. Hier is een PHP-script dat enkele BiqQuery-gegevens ophaalt:
    <?php
      $con = odbc_connect("MyBigQueryDataSource", "", "");
      $err = odbc_errormsg();
      if (strlen($err) <> 0) {
        echo odbc_errormsg();
      } else {
        $rs2 = odbc_exec($con, "select MyCol from MyTable");
        odbc_result_all($rs2);
        odbc_close($con);
      }
    ?>

Excel verbinden met BigQuery

Volg deze stappen om gegevens van BigQuery naar Microsoft Excel te retourneren met behulp van Microsoft Query:

  1. Op de Gegevens tabblad, kies Nieuwe zoekopdracht> Van andere bron> Van ODBC .
  2. Kies de BigQuery ODBC-gegevensbron wanneer daarom wordt gevraagd.
  3. Kies een tabel uit de beschikbare datasets.
  4. Kies Laden om de BiqQuery-gegevens te retourneren naar het werkblad.

    Houd er rekening mee dat u bij grote resultatensets de gegevens mogelijk moet filteren met Excel voordat de gegevens naar het werkblad kunnen worden teruggestuurd.

Maak verbinding met BigQuery vanuit Oracle

  1. Maak een DG4ODBC init-bestand op uw Oracle-machine. Ga hiervoor naar de %ORACLE_HOME%\hs\admin map. Maak een kopie van het bestand initdg4odbc.ora . Geef het nieuwe bestand de naam initbq.ora .

    Opmerking Vervang in deze instructies %ORACLE_HOME% door de locatie van uw Oracle HOME-directory. Bijvoorbeeld C:\oraclexe\app\oracle\product\11.2.0\server .

  2. Zorg ervoor dat deze parameters en waarden aanwezig zijn in uw init-bestand:
    HS_FDS_CONNECT_INFO = MyBigQueryDataSource
  3. Reageer op de regel die DG4ODBC-tracering mogelijk maakt. Bijvoorbeeld:
    #HS_FDS_TRACE_LEVEL = <trace_level>
    
  4. Voeg een item toe aan %ORACLE_HOME%\network\admin\listener.ora dat maakt een SID_NAME voor DG4ODBC. Bijvoorbeeld:
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=bq)
         (ORACLE_HOME=%ORACLE_HOME%)
         (PROGRAM=dg4odbc)
       )
     )
    
  5. Voeg een DG4ODBC-item toe aan %ORACLE_HOME%\network\admin\tnsnames.ora die de SID_NAME specificeert die in de vorige stap is gemaakt. Bijvoorbeeld:
    BQ =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = bq)
        )
        (HS = OK)
      )
    

    Vervang oracle_host met de hostnaam van uw Oracle-machine.

  6. Start (of herstart) de Oracle Listener:
    cd %ORACLE_HOME%\bin
    lsnrctl stop
    lsnrctl start
    
  7. Maak verbinding met uw Oracle-database in SQL*Plus.
  8. Maak in SQL*Plus een databasekoppeling voor de doelinstantie van BigQuery. Bijvoorbeeld:
    CREATE PUBLIC DATABASE LINK bqlink CONNECT TO "mydummyuser" IDENTIFIED BY "mydummypassword" USING 'bq';
    
  9. Probeer uw BigQuery-gegevens op te vragen. Bijvoorbeeld:
    SELECT * FROM "MyTable"@BQLINK;
    
Opmerkingen
  • Als u problemen ondervindt bij het verbinden met BigQuery vanuit Oracle, schakelt u DG4ODBC-tracering in en controleert u de traceerbestanden die zijn geschreven naar de %ORACLE_HOME%\hs\trace map. Om DG4ODBC-tracering in te schakelen, voegt u de regel HS_FDS_TRACE_LEVEL = DEBUG toe naar initbq.ora en start / herstart vervolgens de Oracle-listener. Als het trace map bestaat niet, maak deze aan.
  • Als u ODBC Driver Manager-tracering inschakelt, maar geen traceerbestand of een leeg traceerbestand krijgt (controleer op C:\SQL.log), wijzig dan de locatie van het traceerbestand in de Windows TEMP-directory. Bijvoorbeeld C:\Windows\Temp\SQL.log .

  1. Marge berekenen in MySQL

  2. PostgreSQL UNIX-domeinsockets versus TCP-sockets

  3. Wat betekent een (+) teken in een Oracle SQL WHERE-clausule?

  4. Wanneer is het beter om vlaggen als bitmasker op te slaan in plaats van een associatieve tabel te gebruiken?