NASA のデータをA5:SQL Mk-2 でCRUD クエリする方法
SQL 開発ツールといえば「A5:SQL Mk-2」が有名です。Windows ODBC に強い!というイメージです。多くのエンジニアやIT 担当者に利用されています。 本記事では、NASA のデータをCData ODBC ドライバを使って、A5:SQL MK-2 からクエリする方法を説明します。
CData ODBC ドライバとは?
300種類以上の業務システムやDB をお好みのツールとノーコード連携
CData ODBC ドライバは、以下のような特徴を持つデータ連携ツールです。
CData ODBC ドライバでは、1.データソースとしてNASA の接続を設定、2.A5:SQL Mk-2 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとNASA への接続設定
まずは、本記事右側のサイドバーからAPI ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。または、Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定できます。
API キー認証の設定
ほとんどの NASA API エンドポイント(APOD、NeoWS、DONKI、TechTransfer)では、NASA API キーが必要です。https://api.nasa.gov で無料のキーを登録してください。デフォルトの DEMO_KEY ではアクセスが制限されます(1 時間あたり 30 リクエスト、1 日あたり 50 リクエスト)。登録済みのキーでは 1 時間あたり 1,000 リクエストが可能です。
以下のエンドポイントは API キーが不要で、認証なしで利用できます:EONET(Earth Observatory Natural Event Tracker)、EPIC(Earth Polychromatic Imaging Camera)、NASA Image and Video Library、TechPort。
API キーを取得したら、以下の接続プロパティを設定します:
- AuthScheme:APIKey に設定します。
- APIKey:NASA の API キーに設定します。簡単なテストには DEMO_KEY を使用します。
接続文字列の例
Profile=C:\profiles\NASA.apip;AuthScheme=APIKey;APIKey=YOUR_NASA_API_KEY
NASA への接続
認証を設定すると、NASA に接続して、AstronomyPictureOfDay、NearEarthObjectFeed、EonetEvents、NasaImageLibrary などの利用可能なテーブルからデータをクエリできます。
A5:SQL Mk-2 からのNASA ODBC データソースのクエリ利用方法
ODBC DSN の利用方法
「データベース」→「データベースの追加と削除」を開きます。
「64bit ODBCシステムデータソースを列挙する」にチェックを入れます。システムデータソースを利用するか、ユーザーデータソースを利用するかはどちらでもかまいません。
データベースとして、設定しているODBC DSN がツリービューで表示されます。CData ODBC ドライバで設定されたDSN もここに表示されます。
「CData NASA Sys」をダブルクリップします。データベースログイン画面が開くので、ODBC DSN 設定時に使ったNASA のユーザーとパスワードでログインします。
NASA のオブジェクトがテーブル・ビュー・ストアドプロシージャにモデル化されて表示されます。
テーブルを開いてみます。オブジェクトで利用できるデータがカラムとしてモデル化されています。それぞれのカラムにはデータ型の情報も付いています。
これでA5:SQL Mk2 でNASA のデータがクエリできます。
NASA のデータをSELECT する
対象のテーブル・ビューを右クリックして「SQL の作成」をクリックしてクエリ作成画面を開きます。
SELECT にチェックを入れます。とりあえず全カラムを指定して条件なしでクエリしてみます。
SQL クエリがA5M2 から生成されます。実行ボタンで実行するとNASA の選択したオブジェクトがクエリされ、データがテーブルとして返されます。
次にフィルタリング条件を付けてみます。SQL の作成画面で「絞り込み条件に利用するカラム」をドロップダウンから選択します。以下の絞り込み条件付きのSQL 文がA5M2から生成されるので、WHERE 句に条件を書いて実行します。
--*DataTitle "NASA"."(テーブル名)"
--*CaptionFromComment
SELECT
"Id" -- Id
, "LastName" -- LastName
, "FirstName" -- FirstName
, "Name" -- Name
, "Title" -- Title
, "Company" -- Company
, "Status" -- Status
, "Industry" -- Industry
FROM
"API"."Lead"
WHERE
"Company" = '(フィルタリング条件を入力)'
同じ要領でSQL 作成UI から、SELECT だけでなく、INSERT、UPDATE、DELETE のクエリが作成できます。JOIN や集計クエリもANSI-92 のSQL で作れます。
おわりに
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをA5:SQL Mk-2 からコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
日本のユーザー向けにCData ODBC ドライバは、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。