Lakebase のデータをA5:SQL Mk-2 でCRUD クエリする方法
SQL 開発ツールといえば「A5:SQL Mk-2」が有名です。Windows ODBC に強い!というイメージです。多くのエンジニアやIT 担当者に利用されています。 本記事では、Lakebase のデータをCData ODBC ドライバを使って、A5:SQL MK-2 からクエリする方法を説明します。
CData ODBC ドライバとは?
300種類以上の業務システムやDB をお好みのツールとノーコード連携
CData ODBC ドライバは、以下のような特徴を持つデータ連携ツールです。
CData ODBC ドライバでは、1.データソースとしてLakebase の接続を設定、2.A5:SQL Mk-2 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとLakebase への接続設定
まずは、本記事右側のサイドバーからLakebase ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。または、Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定できます。
Databricks Lakebase に接続するには、以下のプロパティを設定します。
- DatabricksInstance: Databricks インスタンスまたはサーバーホスト名を指定します。形式は instance-abcdef12-3456-7890-abcd-abcdef123456.database.cloud.databricks.com です。
- Server: Lakebase データベースをホストするサーバーのホスト名または IP アドレスを指定します。
- Port(オプション): Lakebase データベースをホストするサーバーのポート番号を指定します。デフォルトは 5432 です。
- Database(オプション): Lakebase サーバーへの認証後に接続するデータベースを指定します。デフォルトでは認証ユーザーのデフォルトデータベースに接続します。
OAuth クライアント認証
OAuth クライアント資格情報を使用して認証するには、サービスプリンシパルで OAuth クライアントを構成します。手順の概要は以下のとおりです。
- 新しいサービスプリンシパルを作成・構成する
- サービスプリンシパルに権限を割り当てる
- サービスプリンシパル用の OAuth シークレットを作成する
詳細については、ヘルプドキュメントの「Setting Up OAuthClient Authentication」セクションをご参照ください。
OAuth PKCE 認証
PKCE(Proof Key for Code Exchange)を使用した OAuth code タイプで認証するには、以下のプロパティを設定します。
- AuthScheme: OAuthPKCE を指定します。
- User: 認証ユーザーのユーザー ID を指定します。
詳細については、ヘルプドキュメントをご参照ください。
A5:SQL Mk-2 からのLakebase ODBC データソースのクエリ利用方法
ODBC DSN の利用方法
「データベース」→「データベースの追加と削除」を開きます。
「64bit ODBCシステムデータソースを列挙する」にチェックを入れます。システムデータソースを利用するか、ユーザーデータソースを利用するかはどちらでもかまいません。
データベースとして、設定しているODBC DSN がツリービューで表示されます。CData ODBC ドライバで設定されたDSN もここに表示されます。
「CData Lakebase Sys」をダブルクリップします。データベースログイン画面が開くので、ODBC DSN 設定時に使ったLakebase のユーザーとパスワードでログインします。
Lakebase のオブジェクトがテーブル・ビュー・ストアドプロシージャにモデル化されて表示されます。
テーブルを開いてみます。オブジェクトで利用できるデータがカラムとしてモデル化されています。それぞれのカラムにはデータ型の情報も付いています。
これでA5:SQL Mk2 でLakebase のデータがクエリできます。
Lakebase のデータをSELECT する
対象のテーブル・ビューを右クリックして「SQL の作成」をクリックしてクエリ作成画面を開きます。
SELECT にチェックを入れます。とりあえず全カラムを指定して条件なしでクエリしてみます。
SQL クエリがA5M2 から生成されます。実行ボタンで実行するとLakebase の選択したオブジェクトがクエリされ、データがテーブルとして返されます。
次にフィルタリング条件を付けてみます。SQL の作成画面で「絞り込み条件に利用するカラム」をドロップダウンから選択します。以下の絞り込み条件付きのSQL 文がA5M2から生成されるので、WHERE 句に条件を書いて実行します。
--*DataTitle "Lakebase"."(テーブル名)"
--*CaptionFromComment
SELECT
"Id" -- Id
, "LastName" -- LastName
, "FirstName" -- FirstName
, "Name" -- Name
, "Title" -- Title
, "Company" -- Company
, "Status" -- Status
, "Industry" -- Industry
FROM
"Lakebase"."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 の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。