Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Trình điều khiển ODBC Google BigQuery

Chúng tôi đã phát hành trình điều khiển ODBC cho Google BigQuery. Trình điều khiển cho phép bạn truy vấn và cập nhật dữ liệu BigQuery trong các ứng dụng khác ngoài bảng điều khiển Google BigQuery. Chúng tôi nghĩ rằng chúng tôi sẽ chia sẻ một số điều bạn có thể làm trong các ứng dụng của bên thứ ba này (ví dụ:Perl, PHP, Excel và Oracle).

Cài đặt trình điều khiển BigQuery ODBC

  1. Cài đặt và cấp phép trình điều khiển Google BigQuery ODBC trên máy đã cài đặt ứng dụng khách.

    Ví dụ:nếu bạn muốn làm việc với dữ liệu BigQuery trong Excel, hãy cài đặt trình điều khiển BigQuery ODBC trên máy có cài đặt Excel.

    Để thực hiện việc này, hãy thực hiện phân phối tệp và làm theo hướng dẫn trên màn hình.

    Chương trình cài đặt khởi động Trình quản lý Giấy phép Easysoft, vì bạn không thể sử dụng Trình điều khiển ODBC BigQuery cho đến khi có giấy phép.

    Có các loại giấy phép sau:

    • Giấy phép dùng thử miễn phí có giới hạn thời gian cho phép bạn sử dụng sản phẩm miễn phí và không hạn chế trong một thời gian giới hạn (thường là 14 ngày).
    • Giấy phép đầy đủ nếu bạn đã mua sản phẩm. Khi mua sản phẩm, bạn được cấp mã ủy quyền, mã này bạn sử dụng để xin giấy phép
  2. Trong Trình quản lý Giấy phép Easysoft, hãy nhập thông tin chi tiết của bạn.

    Bạn PHẢI nhập các trường Tên, Địa chỉ Email và Công ty.

    Địa chỉ E-Mail PHẢI giống với địa chỉ được sử dụng để đăng ký và tải xuống từ trang web Easysoft, nếu không bạn sẽ không thể nhận được giấy phép dùng thử.

  3. Chọn Yêu cầu Giấy phép.

    Bạn được yêu cầu cung cấp loại giấy phép.

  4. Thực hiện một trong các thao tác sau:
    • Để có giấy phép dùng thử, hãy nhấp vào Bản dùng thử có giới hạn thời gian và sau đó nhấp vào Tiếp theo.

      Người quản lý Giấy phép hỏi bạn đang cấp phép phần mềm nào. Chọn Easysoft BigQuery ODBC Driver từ danh sách thả xuống, sau đó nhấp vào Tiếp theo.

    • Nếu bạn đã nhận được mã ủy quyền cho giấy phép đã mua, hãy chọn Giấy phép không hết hạn và sau đó nhấp vào Tiếp theo.

      Trình quản lý Giấy phép yêu cầu mã ủy quyền của bạn.

      Nhập mã ủy quyền và sau đó nhấp vào Tiếp theo.

  5. Trình quản lý Giấy phép hiển thị bản tóm tắt thông tin bạn đã nhập và cho phép bạn chọn phương pháp đăng ký giấy phép của mình.
  6. Thực hiện một trong các thao tác sau:
    • Chọn Yêu cầu trực tuyến nếu máy của bạn được kết nối với internet và có thể thực hiện các kết nối đi tới cổng 8884.

      Sau đó, Trình quản lý Giấy phép sẽ gửi yêu cầu đến máy chủ cấp phép Easysoft để kích hoạt khóa cấp phép của bạn một cách tự động. Đây là phương pháp nhanh nhất và kết quả là thông tin chi tiết của bạn sẽ được nhập ngay lập tức vào cơ sở dữ liệu hỗ trợ của chúng tôi.

    • Ba tùy chọn còn lại (Yêu cầu Email, Yêu cầu In và Yêu cầu Xem) là tất cả các cách để có được giấy phép nếu máy của bạn không kết nối mạng (tức là không có kết nối với internet).

      Mỗi phương pháp này liên quan đến việc cung cấp cho Easysoft thông tin bao gồm số máy của bạn (một số duy nhất cho máy của bạn) và sau đó chờ nhận khóa cấp phép của bạn.

      Thay vì gửi email thông tin chi tiết của bạn đến Easysoft, bạn có thể nhập chúng trực tiếp tại trang web Easysoft và khóa cấp phép của bạn sẽ được gửi tự động qua email cho bạn.

      Để sử dụng phương pháp này, hãy bấm Xem Yêu cầu, sau đó truy cập:

      • Trang giấy phép dùng thử
      • Trang giấy phép đầy đủ

      Trong trang Cấp phép, nhập số máy của bạn (và mã ủy quyền cho giấy phép đã mua), nhấp vào Gửi và khóa cấp phép của bạn sẽ được gửi qua email cho bạn.

      Khi bạn nhận được khóa cấp phép, bạn có thể kích hoạt nó bằng cách nhấp đúp vào tệp đính kèm email hoặc bằng cách nhấp vào Nhập Giấy phép trên màn hình chính của Trình quản lý Giấy phép và dán khóa cấp phép vào hộp thoại.

    • Chọn Hoàn tất để thoát khỏi Trình quản lý Giấy phép.

      Quá trình cài đặt hoàn tất.

Định cấu hình Nguồn dữ liệu ODBC

Trước khi có thể sử dụng Trình điều khiển ODBC BigQuery để kết nối ứng dụng với BigQuery, bạn cần phải định cấu hình nguồn dữ liệu ODBC. Nguồn dữ liệu ODBC lưu trữ chi tiết kết nối cho cơ sở dữ liệu đích (ví dụ:BigQuery) và trình điều khiển ODBC được yêu cầu để kết nối với nó (ví dụ:trình điều khiển BigQuery ODBC).

Nguồn dữ liệu ODBC được định cấu hình trong Quản trị viên ODBC, được bao gồm trong Windows. Cách quản trị viên ODBC được chạy tùy thuộc vào việc ứng dụng của bạn là 32 bit hay 64 bit:

  • Ứng dụng của tôi là 32 bit

    Trong hộp thoại Chạy Windows, nhập:

    %windir%\syswow64\odbcad32.exe

  • Ứng dụng của tôi là 64 bit

    Mở Hệ thống và Bảo mật> Công cụ Quản trị trong Pa-nen Điều khiển, rồi mở Nguồn Dữ liệu ODBC (64-bit). (Trên Windows Server 2003 trở về trước, ứng dụng Bảng điều khiển khởi chạy Quản trị viên ODBC được gắn nhãn Nguồn dữ liệu.)

Làm cách nào để biết một ứng dụng là 32 bit hay 64 bit?

Ứng dụng Ghi chú
Excel Có cả phiên bản Excel 32 bit và 64 bit. Để biết bạn có phiên bản Excel nào, hãy khởi động Excel, sau đó khởi động Trình quản lý tác vụ Windows. Trong Trình quản lý tác vụ, chọn tab Quy trình. Tìm kiếm Excel.exe trong danh sách. Nếu tên quy trình này được theo sau bởi *32 , phiên bản Excel của bạn là 32 bit. Nếu không, phiên bản Excel của bạn là 64 bit.
GoodData CloudConnect Deigner là một ứng dụng 64 bit.
MicroStrategy MicroStrategy là một ứng dụng 32 bit.
Oracle Thành phần Oracle tương tác với trình điều khiển MongoDB ODBC được gọi là DG4ODBC. Có cả phiên bản 32 bit và 64 bit của DG4ODBC. Để biết bạn có phiên bản DG4ODBC nào, hãy khởi động Windows Task Manager và chọn tab Processes. Trong cửa sổ Command Prompt, nhập dg4odbc --help . Trong Trình quản lý Tác vụ Windows, hãy tìm quy trình DG4ODBC. Nếu Tên hình ảnh là "dg4odbc.exe * 32" thì DG4ODBC là 32-bit. Nếu Tên hình ảnh là "dg4odbc.exe" thì DG4ODBC là 64-bit. Nhấn CTRL + C trong cửa sổ Command Prompt khi bạn đã sử dụng Windows Task Manager để tìm hiểu kiến ​​trúc của DG4ODBC.
Oracle Business Intelligence Enterprise Edition (OBIEE) Thành phần OBIEE tương tác với trình điều khiển MongoDB ODBC được gọi là Công cụ quản trị Oracle BI. Công cụ quản trị Oracle BI là 64-bit.
PHPRunner PHPRunner là một ứng dụng 32 bit.
QlikView QlikView là một ứng dụng 32 bit nếu hộp kiểm Force 32 Bit được chọn. Nếu không, QlikView là một ứng dụng 64 bit.
SAP BusinessObjects Máy chủ quản lý trung tâm là một ứng dụng 64-bit. Business View Manager, Information Design Tool và Web Intelligence Rich Client là các ứng dụng 32 bit.
Báo cáo tinh thể SAP Crystal Reports là một ứng dụng 32 bit.
Máy chủ SQL Có cả phiên bản SQL Server 32 bit và 64 bit. Để biết bạn có phiên bản SQL Server nào, hãy kết nối với phiên bản SQL Server của bạn, rồi chạy câu lệnh SQL này:
select SERVERPROPERTY('edition')

Nếu bạn có phiên bản 64-bit của SQL Server muốn sử dụng máy chủ được liên kết với trình điều khiển BigQuery ODBC, ứng dụng của bạn là 64-bit.

Nếu bạn có phiên bản 32-bit của SQL Server hoặc muốn sử dụng SSIS với trình điều khiển BigQuery ODBC, ứng dụng của bạn là 32-bit.

Tableau Tableau là một ứng dụng 32 bit.
TIBCO Spotfire TIBCO Spotfire là một ứng dụng 64-bit.

Trong Quản trị viên ODBC:

  1. Chọn tab Hệ thống DSN, sau đó chọn Thêm.
  2. Trong hộp thoại Tạo Nguồn Dữ liệu Mới, chọn Trình điều khiển Easysoft ODBC-BigQuery, rồi chọn Kết thúc.
  3. Hoàn thành các trường này trong hộp thoại Thiết lập Easysoft ODBC-BigQuery Driver DSN:
    Setting Giá trị
    DSN BigQuery
    Làm mới mã thông báo Chọn Xác thực và lấy mã thông báo và cấp quyền cho trình điều khiển BigQuery ODBC để truy cập vào dữ liệu BigQuery của bạn để điền vào trường này.
  4. Trong ứng dụng của bạn, hãy kết nối với nguồn dữ liệu mới được định cấu hình và chạy một truy vấn mẫu. Ví dụ:
    select * from MyTable limit 10

Làm việc với dữ liệu BigQuery trong Perl

Strawberry Perl là bản phân phối Perl dành cho Windows bao gồm các lớp phần mềm trung gian cần thiết (Perl DBI và Perl DBD ::ODBC) để cho phép trình điều khiển BigQuery ODBC kết nối các ứng dụng Perl của bạn với BigQuery.

  1. Đây là tập lệnh Perl truy xuất một số dữ liệu 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. Đây là tập lệnh Perl chèn một số dữ liệu 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. Đây là tập lệnh Perl cập nhật bản ghi 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;

Làm việc với dữ liệu BigQuery trong PHP

  1. Đây là một tập lệnh PHP truy xuất một số dữ liệu 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);
      }
    ?>

Kết nối Excel với BigQuery

Làm theo các bước sau để trả lại dữ liệu từ BigQuery sang Microsoft Excel bằng cách sử dụng Microsoft Query:

  1. Trên Dữ liệu , chọn Truy vấn Mới> Từ Nguồn Khác> Từ ODBC .
  2. Chọn nguồn dữ liệu BigQuery ODBC khi được nhắc.
  3. Chọn một bảng từ các tập dữ liệu có sẵn.
  4. Chọn Tải để trả về dữ liệu BiqQuery vào trang tính.

    Lưu ý rằng đối với các tập kết quả lớn, bạn có thể phải lọc dữ liệu bằng Excel trước khi dữ liệu có thể được trả về trang tính.

Kết nối với BigQuery từ Oracle

  1. Tạo tệp init DG4ODBC trên máy Oracle của bạn. Để thực hiện việc này, hãy thay đổi thành %ORACLE_HOME%\hs\admin danh mục. Tạo bản sao của tệp initdg4odbc.ora . Đặt tên cho tệp mới initbq.ora .

    Lưu ý Trong các hướng dẫn này, thay thế% ORACLE_HOME% bằng vị trí của thư mục Oracle HOME của bạn. Ví dụ:C:\oraclexe\app\oracle\product\11.2.0\server .

  2. Đảm bảo các thông số và giá trị này có trong tệp init của bạn:
    HS_FDS_CONNECT_INFO = MyBigQueryDataSource
  3. Nhận xét dòng cho phép theo dõi DG4ODBC. Ví dụ:
    #HS_FDS_TRACE_LEVEL = <trace_level>
    
  4. Thêm mục nhập vào %ORACLE_HOME%\network\admin\listener.ora tạo SID_NAME cho DG4ODBC. Ví dụ:
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=bq)
         (ORACLE_HOME=%ORACLE_HOME%)
         (PROGRAM=dg4odbc)
       )
     )
    
  5. Thêm mục nhập DG4ODBC vào %ORACLE_HOME%\network\admin\tnsnames.ora chỉ định SID_NAME đã tạo ở bước trước. Ví dụ:
    BQ =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = bq)
        )
        (HS = OK)
      )
    

    Thay thế oracle_host với tên máy chủ của máy Oracle của bạn.

  6. Khởi động (hoặc khởi động lại) Oracle Listener:
    cd %ORACLE_HOME%\bin
    lsnrctl stop
    lsnrctl start
    
  7. Kết nối với cơ sở dữ liệu Oracle của bạn trong SQL * Plus.
  8. Trong SQL * Plus, tạo liên kết cơ sở dữ liệu cho phiên bản BigQuery đích. Ví dụ:
    CREATE PUBLIC DATABASE LINK bqlink CONNECT TO "mydummyuser" IDENTIFIED BY "mydummypassword" USING 'bq';
    
  9. Thử truy vấn dữ liệu BigQuery của bạn. Ví dụ:
    SELECT * FROM "MyTable"@BQLINK;
    
Ghi chú
  • Nếu bạn gặp sự cố khi kết nối với BigQuery từ Oracle, hãy bật theo dõi DG4ODBC và kiểm tra các tệp theo dõi được ghi vào %ORACLE_HOME%\hs\trace danh mục. Để bật theo dõi DG4ODBC, hãy thêm dòng HS_FDS_TRACE_LEVEL = DEBUG tới initbq.ora và sau đó khởi động / khởi động lại trình nghe Oracle. Nếu trace thư mục không tồn tại, hãy tạo nó.
  • Nếu bạn bật theo dõi Trình quản lý Trình điều khiển ODBC, nhưng không nhận được tệp theo dõi hoặc nhận được tệp theo dõi trống (kiểm tra C:\ SQL.log), hãy thay đổi vị trí tệp theo dõi thành thư mục TEMP của Windows. Ví dụ:C:\Windows\Temp\SQL.log .

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mô hình dữ liệu bảo hiểm nhân thọ

  2. Cách làm tròn một số thành số nguyên gần nhất trong SQL

  3. Cách khai báo ngoại lệ do người dùng xác định bằng PRAGMA EXCEPTION_INIT

  4. Giới thiệu về Dịch vụ Web Amazon (AWS) Tự động mở rộng quy mô

  5. Câu lệnh SQL DROP TABLE và các trường hợp sử dụng khác nhau