Database
 sql >> Base de données >  >> RDS >> Database

Pilote ODBC Google BigQuery

Nous avons publié un pilote ODBC pour Google BigQuery. Le pilote vous permet d'interroger et de mettre à jour les données BigQuery dans des applications autres que la console Google BigQuery. Nous avons pensé partager certaines des choses que vous pouvez faire dans ces applications tierces (par exemple, Perl, PHP, Excel et Oracle).

Installation du pilote ODBC BigQuery

  1. Installez et autorisez le pilote ODBC Google BigQuery sur la machine sur laquelle l'application cliente est installée.

    Par exemple, si vous souhaitez utiliser des données BigQuery dans Excel, installez le pilote ODBC BigQuery sur la machine sur laquelle Excel est installé.

    Pour ce faire, exécutez la distribution du fichier et suivez les instructions à l'écran.

    Le programme d'installation démarre le gestionnaire de licences Easysoft, car vous ne pouvez pas utiliser le pilote ODBC BigQuery tant qu'une licence n'est pas obtenue.

    Les types de licence suivants sont disponibles :

    • Licence d'essai gratuite à durée limitée qui vous permet d'utiliser gratuitement et sans restriction le produit pendant une période limitée (généralement 14 jours).
    • Licence complète si vous avez acheté le produit. Lors de l'achat du produit, vous recevez un code d'autorisation que vous utilisez pour obtenir une licence
  2. Dans Easysoft License Manager, saisissez vos coordonnées.

    Vous DEVEZ saisir les champs Nom, Adresse e-mail et Société.

    L'adresse e-mail DOIT être la même que l'adresse utilisée pour s'inscrire et télécharger à partir du site Web d'Easysoft, sinon vous ne pourrez pas obtenir de licences d'essai.

  3. Choisissez Demander une licence.

    On vous demande un type de licence.

  4. Effectuez l'une des actions suivantes :
    • Pour une licence d'essai, cliquez sur Essai limité dans le temps, puis cliquez sur Suivant.

      Le gestionnaire de licences vous demande quel logiciel vous avez sous licence. Sélectionnez Pilote ODBC Easysoft BigQuery dans la liste déroulante, puis cliquez sur Suivant.

    • Si vous avez obtenu un code d'autorisation pour une licence achetée, sélectionnez Licence non expirante, puis cliquez sur Suivant.

      Le gestionnaire de licences demande votre code d'autorisation.

      Saisissez le code d'autorisation, puis cliquez sur Suivant.

  5. Le gestionnaire de licences affiche un résumé des informations que vous avez saisies et vous permet de choisir la méthode de demande de licence.
  6. Effectuez l'une des actions suivantes :
    • Choisissez Demande en ligne si votre machine est connectée à Internet et peut établir des connexions sortantes au port 8884.

      Le gestionnaire de licences envoie alors une demande au serveur de licences Easysoft pour activer automatiquement votre clé de licence. Il s'agit de la méthode la plus rapide et vos coordonnées sont immédiatement saisies dans notre base de données d'assistance.

    • Les trois options restantes (demande par e-mail, demande d'impression et demande d'affichage) sont toutes des moyens d'obtenir une licence si votre machine est hors ligne (c'est-à-dire qu'elle n'a pas de connexion à Internet).

      Chacune de ces méthodes implique de fournir à Easysoft des informations, y compris votre numéro de machine (un numéro unique à votre machine), puis d'attendre de recevoir votre clé de licence.

      Au lieu d'envoyer vos coordonnées par e-mail à Easysoft, vous pouvez les saisir directement sur le site Web d'Easysoft et votre clé de licence vous sera automatiquement envoyée par e-mail.

      Pour utiliser cette méthode, cliquez sur Afficher la demande, puis visitez :

      • Page de licence d'essai
      • Page de licence complète

      Sur la page Licence, entrez votre numéro de machine (et le code d'autorisation pour la licence achetée), cliquez sur Soumettre et votre clé de licence vous sera envoyée par e-mail.

      Lorsque vous recevez la clé de licence, vous pouvez l'activer soit en double-cliquant sur la pièce jointe de l'e-mail, soit en cliquant sur Entrer la licence sur l'écran principal du Gestionnaire de licences et en collant la clé de licence dans la boîte de dialogue.

    • Choisissez Terminer pour quitter le gestionnaire de licences.

      L'installation est terminée.

Configuration d'une source de données ODBC

Avant de pouvoir utiliser le pilote ODBC BigQuery pour connecter une application à BigQuery, il est nécessaire de configurer une source de données ODBC. Une source de données ODBC stocke les détails de connexion pour la base de données cible (par exemple, BigQuery) et le pilote ODBC requis pour s'y connecter (par exemple, le pilote ODBC BigQuery).

Les sources de données ODBC sont configurées dans l'administrateur ODBC, qui est inclus avec Windows. Le mode d'exécution de l'administrateur ODBC varie selon que votre application est 32 bits ou 64 bits :

  • Mon application est en 32 bits

    Dans la boîte de dialogue Exécuter de Windows, saisissez :

    %windir%\syswow64\odbcad32.exe

  • Mon application est en 64 bits

    Ouvrez Système et sécurité> Outils d'administration dans le Panneau de configuration, puis ouvrez Sources de données ODBC (64 bits). (Sur Windows Server 2003 et les versions antérieures, l'applet du Panneau de configuration qui lance l'administrateur ODBC est intitulée Sources de données.)

Comment savoir si une application est 32 bits ou 64 bits ?

Application Remarques
Excel Il existe à la fois une version 32 bits et une version 64 bits d'Excel. Pour savoir quelle version d'Excel vous avez, démarrez Excel, puis démarrez le Gestionnaire des tâches de Windows. Dans le Gestionnaire des tâches, choisissez l'onglet Processus. Recherchez Excel.exe dans la liste. Si ce nom de processus est suivi de *32 , votre version d'Excel est 32 bits. Sinon, votre version d'Excel est 64 bits.
GoodData CloudConnect Deigner est une application 64 bits.
MicroStrategy MicroStrategy est une application 32 bits.
Oracle Le composant Oracle qui interagit avec le pilote ODBC MongoDB s'appelle DG4ODBC. Il existe à la fois une version 32 bits et une version 64 bits de DG4ODBC. Pour savoir quelle version de DG4ODBC vous avez, lancez le gestionnaire des tâches de Windows et choisissez l'onglet Processus. Dans une fenêtre d'invite de commande, tapez dg4odbc --help . Dans le Gestionnaire des tâches de Windows, recherchez le processus DG4ODBC. Si le nom de l'image est "dg4odbc.exe *32", DG4ODBC est 32 bits. Si le nom de l'image est "dg4odbc.exe", DG4ODBC est 64 bits. Appuyez sur CTRL + C dans la fenêtre d'invite de commande, lorsque vous avez utilisé le gestionnaire de tâches de Windows pour découvrir l'architecture de DG4ODBC.
Oracle Business Intelligence Enterprise Edition (OBIEE) Le composant OBIEE qui interagit avec le pilote ODBC MongoDB s'appelle l'outil d'administration Oracle BI. L'outil d'administration Oracle BI est 64 bits.
PHPRunner PHPRunner est une application 32 bits.
QlikView QlikView est une application 32 bits si la case Forcer 32 bits est cochée. Sinon, QlikView est une application 64 bits.
SAP BusinessObjects Central Management Server est une application 64 bits. Business View Manager, Information Design Tool et Web Intelligence Rich Client sont des applications 32 bits.
Rapports SAP Crystal Crystal Reports est une application 32 bits.
SQL Server Il existe à la fois une version 32 bits et une version 64 bits de SQL Server. Pour savoir quelle version de SQL Server vous avez, connectez-vous à votre instance SQL Server, puis exécutez cette instruction SQL :
select SERVERPROPERTY('edition')

Si vous avez la version 64 bits de SQL Server et souhaitez utiliser un serveur lié avec le pilote ODBC BigQuery, votre application est 64 bits.

Si vous avez la version 32 bits de SQL Server ou souhaitez utiliser SSIS avec le pilote ODBC BigQuery, votre application est 32 bits.

Tableau Tableau est une application 32 bits.
TIBCO Spotfire TIBCO Spotfire est une application 64 bits.

Dans l'administrateur ODBC :

  1. Choisissez l'onglet DSN système, puis choisissez Ajouter.
  2. Dans la boîte de dialogue Créer une nouvelle source de données, choisissez Pilote Easysoft ODBC-BigQuery, puis choisissez Terminer.
  3. Renseignez ces champs dans la boîte de dialogue Configuration du DSN du pilote Easysoft ODBC-BigQuery :
    Paramètre Valeur
    DSN BigQuery
    Actualiser le jeton Choisissez Authentifier et obtenir un jeton et accordez au pilote ODBC BigQuery l'autorisation d'accéder à vos données BigQuery pour remplir ce champ.
  4. Dans votre application, connectez-vous à votre source de données nouvellement configurée et exécutez un exemple de requête. Par exemple :
    select * from MyTable limit 10

Travailler avec des données BigQuery en Perl

Strawberry Perl est une distribution Perl pour Windows qui inclut les couches middleware nécessaires (Perl DBI et Perl DBD ::ODBC) pour permettre au pilote ODBC BigQuery de connecter vos applications Perl à BigQuery.

  1. Voici un script Perl qui récupère des données BiqQuery :
    #!/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. Voici un script Perl qui insère des données BigQuery :
    #!/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. Voici un script Perl qui met à jour un enregistrement BigQuery :
    #!/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;

Travailler avec des données BigQuery en PHP

  1. Voici un script PHP qui récupère des données BiqQuery :
    <?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);
      }
    ?>

Connecter Excel à BigQuery

Suivez ces étapes pour renvoyer des données de BigQuery vers Microsoft Excel à l'aide de Microsoft Query :

  1. Sur les Données onglet, choisissez Nouvelle requête > À partir d'une autre source > À partir d'ODBC .
  2. Choisissez la source de données ODBC BigQuery lorsque vous y êtes invité.
  3. Choisissez un tableau parmi les ensembles de données disponibles.
  4. Choisissez le Charger pour renvoyer les données BiqQuery à la feuille de travail.

    Notez que pour les ensembles de résultats volumineux, vous devrez peut-être filtrer les données à l'aide d'Excel avant que les données puissent être renvoyées à la feuille de calcul.

Se connecter à BigQuery depuis Oracle

  1. Créez un fichier init DG4ODBC sur votre machine Oracle. Pour ce faire, passez au %ORACLE_HOME%\hs\admin annuaire. Créez une copie du fichier initdg4odbc.ora . Nommez le nouveau fichier initbq.ora .

    Remarque Dans ces instructions, remplacez %ORACLE_HOME% par l'emplacement de votre répertoire Oracle HOME. Par exemple, C:\oraclexe\app\oracle\product\11.2.0\server .

  2. Assurez-vous que ces paramètres et ces valeurs sont présents dans votre fichier d'initialisation :
    HS_FDS_CONNECT_INFO = MyBigQueryDataSource
  3. Commentez la ligne qui active le traçage DG4ODBC. Par exemple :
    #HS_FDS_TRACE_LEVEL = <trace_level>
    
  4. Ajouter une entrée à %ORACLE_HOME%\network\admin\listener.ora qui crée un SID_NAME pour DG4ODBC. Par exemple :
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=bq)
         (ORACLE_HOME=%ORACLE_HOME%)
         (PROGRAM=dg4odbc)
       )
     )
    
  5. Ajouter une entrée DG4ODBC à %ORACLE_HOME%\network\admin\tnsnames.ora qui spécifie le SID_NAME créé à l'étape précédente. Par exemple :
    BQ =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = bq)
        )
        (HS = OK)
      )
    

    Remplacez oracle_host avec le nom d'hôte de votre machine Oracle.

  6. Démarrez (ou redémarrez) l'écouteur Oracle :
    cd %ORACLE_HOME%\bin
    lsnrctl stop
    lsnrctl start
    
  7. Connectez-vous à votre base de données Oracle dans SQL*Plus.
  8. Dans SQL*Plus, créez un lien de base de données pour l'instance BigQuery cible. Par exemple :
    CREATE PUBLIC DATABASE LINK bqlink CONNECT TO "mydummyuser" IDENTIFIED BY "mydummypassword" USING 'bq';
    
  9. Essayez d'interroger vos données BigQuery. Par exemple :
    SELECT * FROM "MyTable"@BQLINK;
    
Remarques
  • Si vous rencontrez des problèmes pour vous connecter à BigQuery depuis Oracle, activez le suivi DG4ODBC et vérifiez les fichiers de suivi écrits dans %ORACLE_HOME%\hs\trace annuaire. Pour activer le traçage DG4ODBC, ajoutez la ligne HS_FDS_TRACE_LEVEL = DEBUG vers initbq.ora puis démarrez / redémarrez l'écouteur Oracle. Si la trace répertoire n'existe pas, créez-le.
  • Si vous activez le suivi du gestionnaire de pilotes ODBC, mais que vous n'obtenez pas de fichier de suivi ou que vous obtenez un fichier de suivi vide (vérifiez C:\SQL.log), remplacez l'emplacement du fichier de suivi par le répertoire Windows TEMP. Par exemple, C:\Windows\Temp\SQL.log .