Database
 sql >> Base de Dados >  >> RDS >> Database

Driver ODBC do Google BigQuery


Lançamos um driver ODBC para o Google BigQuery. O driver permite consultar e atualizar dados do BigQuery em aplicativos que não sejam o console do Google BigQuery. Pensamos em compartilhar algumas das coisas que você pode fazer nesses aplicativos de terceiros (por exemplo, Perl, PHP, Excel e Oracle).

Como instalar o driver ODBC do BigQuery

  1. Instale e licencie o driver ODBC do Google BigQuery na máquina em que o aplicativo cliente está instalado.
    Por exemplo, se você quiser trabalhar com dados do BigQuery no Excel, instale o driver ODBC do BigQuery na máquina em que o Excel está instalado.

    Para fazer isso, execute a distribuição de arquivos e siga as instruções na tela.

    O programa de instalação inicia o Easysoft License Manager, pois você não pode usar o driver ODBC do BigQuery até que uma licença seja obtida.

    Os seguintes tipos de licença estão disponíveis:
    • Licença de avaliação gratuita por tempo limitado que oferece uso gratuito e irrestrito do produto por um período limitado (geralmente 14 dias).
    • Licença completa se você comprou o produto. Ao comprar o produto, você recebe um código de autorização, que você usa para obter uma licença
  2. No Easysoft License Manager, insira seus dados.
    Você DEVE inserir os campos Nome, Endereço de e-mail e Empresa.

    O endereço de e-mail DEVE ser o mesmo que o endereço usado para se registrar e fazer download do site da Easysoft ou você não poderá obter licenças de teste.
  3. Escolha Solicitar Licença.
    Você é solicitado a fornecer um tipo de licença.
  4. Faça um dos seguintes:
    • Para uma licença de avaliação, clique em Avaliação por tempo limitado e clique em Avançar.
      O License Manager pergunta qual software você está licenciando. Selecione Driver ODBC do Easysoft BigQuery na lista suspensa e clique em Avançar.
    • Se você obteve um código de autorização para uma licença adquirida, selecione Licença sem vencimento e clique em Avançar.
      O License Manager solicita seu código de autorização.

      Digite o código de autorização e clique em Avançar.
  5. O License Manager exibe um resumo das informações inseridas e permite que você escolha o método de solicitação de sua licença.
  6. Faça um dos seguintes:
    • Escolha Solicitação on-line se sua máquina estiver conectada à Internet e puder fazer conexões de saída para a porta 8884.
      O License Manager então envia uma solicitação ao servidor de licenças Easysoft para ativar sua chave de licença automaticamente. Este é o método mais rápido e faz com que seus dados sejam inseridos imediatamente em nosso banco de dados de suporte.
    • As três opções restantes (Solicitação de e-mail, Solicitação de impressão e Solicitação de visualização) são formas de obter uma licença se sua máquina estiver off-line (ou seja, não tiver conexão com a Internet).
      Cada um desses métodos envolve fornecer à Easysoft informações, incluindo o número de sua máquina (um número exclusivo para sua máquina) e aguardar o recebimento de sua chave de licença.

      Em vez de enviar seus dados por e-mail para a Easysoft, você pode inseri-los diretamente no site da Easysoft e sua chave de licença será enviada por e-mail automaticamente.

      Para usar esse método, clique em Exibir solicitação e visite:
      • Página de licença de avaliação
      • Página de licença completa

      Na página Licenciamento, insira o número da sua máquina (e o código de autorização para a licença adquirida), clique em Enviar e sua chave de licença será enviada por e-mail para você.

      Ao receber a chave de licença, você pode ativá-la clicando duas vezes no anexo de e-mail ou clicando em Enter License na tela principal do License Manager e colando a chave de licença na caixa de diálogo.
    • Escolha Concluir para sair do Gerenciador de licenças.
      A instalação está completa.

Configurando uma fonte de dados ODBC


Antes que o driver ODBC do BigQuery possa ser usado para conectar um aplicativo ao BigQuery, é necessário configurar uma fonte de dados ODBC. Uma fonte de dados ODBC armazena os detalhes de conexão do banco de dados de destino (por exemplo, BigQuery) e o driver ODBC necessário para se conectar a ele (por exemplo, o driver ODBC do BigQuery).

As fontes de dados ODBC são configuradas no Administrador ODBC, que está incluído no Windows. Como o ODBC Administrator é executado depende se seu aplicativo é de 32 bits ou 64 bits:
  • Meu aplicativo é de 32 bits
    Na caixa de diálogo Executar do Windows, digite:
    %windir%\syswow64\odbcad32.exe

  • Meu aplicativo é de 64 bits
    Abra Sistema e Segurança> Ferramentas Administrativas no Painel de Controle e abra Fontes de Dados ODBC (64 bits). (No Windows Server 2003 e anterior, o miniaplicativo do Painel de Controle que inicia o Administrador ODBC é rotulado como Fontes de Dados.)

Como saber se um aplicativo é de 32 ou 64 bits?

Aplicativo Observações
Excel Existe uma versão de 32 bits e uma versão de 64 bits do Excel. Para descobrir qual versão do Excel você possui, inicie o Excel e, em seguida, inicie o Gerenciador de Tarefas do Windows. No Gerenciador de Tarefas, escolha a guia Processos. Procure por Excel.exe na lista. Se este nome de processo for seguido por *32 , sua versão do Excel é de 32 bits. Caso contrário, sua versão do Excel é de 64 bits.
GoodData CloudConnect Deigner é um aplicativo de 64 bits.
Microestratégia O MicroStrategy é um aplicativo de 32 bits.
Oráculo O componente Oracle que interage com o driver ODBC do MongoDB é chamado DG4ODBC. Há uma versão de 32 bits e uma versão de 64 bits do DG4ODBC. Para descobrir qual versão do DG4ODBC você possui, inicie o Gerenciador de Tarefas do Windows e escolha a guia Processos. Em uma janela do prompt de comando, digite dg4odbc --help . No Gerenciador de Tarefas do Windows, procure o processo DG4ODBC. Se o nome da imagem for "dg4odbc.exe *32", DG4ODBC é de 32 bits. Se o nome da imagem for "dg4odbc.exe", DG4ODBC será de 64 bits. Pressione CTRL+C na janela do Prompt de Comando, quando tiver usado o Gerenciador de Tarefas do Windows para descobrir a arquitetura do DG4ODBC.
Oracle Business Intelligence Enterprise Edition (OBIEE) O componente OBIEE que interage com o driver ODBC do MongoDB é chamado de Oracle BI Administration Tool. A Ferramenta de Administração do Oracle BI é de 64 bits.
PHPRunner PHPRunner é um aplicativo de 32 bits.
QlikView O QlikView é um aplicativo de 32 bits se a caixa de seleção Forçar 32 bits estiver marcada. Caso contrário, o QlikView é um aplicativo de 64 bits.
SAP BusinessObjects O Central Management Server é um aplicativo de 64 bits. Business View Manager, Information Design Tool e Web Intelligence Rich Client são aplicativos de 32 bits.
SAP Crystal Reports Crystal Reports é um aplicativo de 32 bits.
Servidor SQL Existe uma versão de 32 bits e uma versão de 64 bits do SQL Server. Para descobrir qual versão do SQL Server você tem, conecte-se à sua instância do SQL Server e execute esta instrução SQL:
select SERVERPROPERTY('edition')

Se você tiver a versão de 64 bits do SQL Server e quiser usar um servidor vinculado com o driver ODBC do BigQuery, seu aplicativo é de 64 bits.

Se você tiver a versão de 32 bits do SQL Server ou quiser usar o SSIS com o driver ODBC do BigQuery, seu aplicativo é de 32 bits.
Tabela O Tableau é um aplicativo de 32 bits.
TIBCO Spotfire TIBCO Spotfire é um aplicativo de 64 bits.

No administrador ODBC:
  1. Escolha a guia DSN do sistema e, em seguida, escolha Adicionar.
  2. Na caixa de diálogo Criar nova fonte de dados, escolha Easysoft ODBC-BigQuery Driver e, em seguida, escolha Concluir.
  3. Preencha estes campos na caixa de diálogo Easysoft ODBC-BigQuery Driver DSN Setup:
    Setting Valor
    DSN BigQuery
    Atualizar token Escolha Authenticate e obtenha o token e conceda permissão ao driver ODBC do BigQuery para acessar seus dados do BigQuery para preencher este campo.
  4. No seu aplicativo, conecte-se à fonte de dados recém-configurada e execute uma consulta de amostra. Por exemplo:
    select * from MyTable limit 10

Trabalhar com dados do BigQuery em Perl


Strawberry Perl é uma distribuição Perl para Windows que inclui as camadas de middleware necessárias (Perl DBI e Perl DBD::ODBC) para permitir que o driver ODBC do BigQuery conecte seus aplicativos Perl ao BigQuery.
  1. Aqui está um script Perl que recupera alguns dados do 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. Aqui está um script Perl que insere alguns dados do 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. Este é um script Perl que atualiza um registro do 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;

Trabalhar com dados do BigQuery em PHP

  1. Aqui está um script PHP que recupera alguns dados do 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);
      }
    ?>

Conectando o Excel ao BigQuery


Siga estas etapas para retornar dados do BigQuery para o Microsoft Excel usando o Microsoft Query:
  1. Nos Dados guia, escolha Nova consulta> De outra fonte> De ODBC .
  2. Escolha a fonte de dados ODBC do BigQuery quando solicitado.
  3. Escolha uma tabela entre os conjuntos de dados disponíveis.
  4. Escolha Carregar para retornar os dados do BiqQuery para a planilha.
    Observe que para grandes conjuntos de resultados, talvez seja necessário filtrar os dados usando o Excel antes que os dados possam ser retornados à planilha.

Conecte-se ao BigQuery da Oracle

  1. Crie um arquivo init DG4ODBC em sua máquina Oracle. Para fazer isso, mude para o %ORACLE_HOME%\hs\admin diretório. Crie uma cópia do arquivo initdg4odbc.ora . Nomeie o novo arquivo initbq.ora .
    Observação Nestas instruções, substitua %ORACLE_HOME% pelo local do seu diretório Oracle HOME. Por exemplo, C:\oraclexe\app\oracle\product\11.2.0\server .
  2. Certifique-se de que esses parâmetros e valores estejam presentes em seu arquivo init:
    HS_FDS_CONNECT_INFO = MyBigQueryDataSource
  3. Comente a linha que permite o rastreamento DG4ODBC. Por exemplo:
    #HS_FDS_TRACE_LEVEL = <trace_level>
    
  4. Adicionar uma entrada a %ORACLE_HOME%\network\admin\listener.ora que cria um SID_NAME para DG4ODBC. Por exemplo:
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=bq)
         (ORACLE_HOME=%ORACLE_HOME%)
         (PROGRAM=dg4odbc)
       )
     )
    
  5. Adicione uma entrada DG4ODBC a %ORACLE_HOME%\network\admin\tnsnames.ora que especifica o SID_NAME criado na etapa anterior. Por exemplo:
    BQ =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = bq)
        )
        (HS = OK)
      )
    

    Substitua oracle_host com o nome do host de sua máquina Oracle.
  6. Inicie (ou reinicie) o Oracle Listener:
    cd %ORACLE_HOME%\bin
    lsnrctl stop
    lsnrctl start
    
  7. Conecte-se ao seu banco de dados Oracle no SQL*Plus.
  8. No SQL*Plus, crie um link de banco de dados para a instância de destino do BigQuery. Por exemplo:
    CREATE PUBLIC DATABASE LINK bqlink CONNECT TO "mydummyuser" IDENTIFIED BY "mydummypassword" USING 'bq';
    
  9. Tente consultar seus dados do BigQuery. Por exemplo:
    SELECT * FROM "MyTable"@BQLINK;
    
Observações
  • Se você tiver problemas para se conectar ao BigQuery da Oracle, ative o rastreamento DG4ODBC e verifique os arquivos de rastreamento gravados no %ORACLE_HOME%\hs\trace diretório. Para habilitar o rastreamento DG4ODBC, adicione a linha HS_FDS_TRACE_LEVEL = DEBUG para initbq.ora e, em seguida, inicie / reinicie o ouvinte Oracle. Se o trace diretório não existe, crie-o.
  • Se você habilitar o rastreamento do ODBC Driver Manager, mas não obtiver um arquivo de rastreamento ou um arquivo de rastreamento vazio (verifique C:\SQL.log), altere o local do arquivo de rastreamento para o diretório TEMP do Windows. Por exemplo, C:\Windows\Temp\SQL.log .