A5:SQL Mk-2 からSQL Gatewayにアクセスする方法

by 浦邊信太郎 | 2024年03月27日

本記事ではフリーのSQL クライアントツールであるA5:SQL Mk-2 からCData SQL Gateway のサービスにアクセスする方法を紹介します。A5:SQL Mk-2 はODBC 接続をサポートしているため、実用上はSQL Gateway を介してODBC にアクセスするメリットはありません。一方でSQL Gateway はSQL Server のリンクサーバなど他のツールと組み合わせて使用されるケースが多く、システムの動作に問題がある時にはSQL Gateway 単体の動作検証が必要なケースが出てきます。このときA5:SQL Mk-2 を使うことで手軽にSQL Gateway でのSQL 実行を検証することができます。

制限事項

本記事で紹介する方法により、A5:SQL Mk-2 からSQL Gateway のTDS サービスにアクセスしSQL を実行することができます。しかしSQL Gateway の制約によりA5:SQL Mk-2 からスキーマ情報を取得できず、A5:SQL Mk-2 のデータベースツリーからテーブルを参照することができません。

1. 前提

本記事の例ではCData Salesforce ODBC Driver を使ってSalesfore のデータにアクセスします。本章ではSalesforce にアクセスするSQL Gateway サービスの作成方法を示します。

1.1 DSNの構成

CData Salesforce ODBC Driver をインストールするとODBC データソースに CData Salesforce Sys が作成されます。以下のようにDSN 構成画面でSalesforce へのアクセス情報を設定します。

1.2 SQL Gateway サービスの作成

SQL Gateway に、上で構成したDSN にアクセスするTDS サービスを追加します。SQL Gateway 画面の[サービス]タブの[追加]ボタンを押下すると[新規サービスの追加]画面が開きます。以下のように[データソース]にSalesforce のODBC データソース「CData Salesforce Sys」を指定し、[ポート]にサービスのポート番号を指定します。このポート番号はA5:SQL Mk-2 からの接続に使用します。

SQL Gateway の[ユーザの編集]画面で、ユーザがサービスにアクセスできることを確認してください。また、SQL Gateway のユーザ名とパスワードはA5:SQL Mk-2 からの接続に使用します。

2. A5:SQL Mk-2での接続の追加

本章では1.で作成したサービスに対してA5:SQL Mk-2 からアクセスする方法を説明します。

A5:SQL Mk-2 を開き、メニューの[データベース]から[データベースの追加と削除]を選択すると、[追加するデータベースの接続タイプを選択]画面が表示されます。今回はSQL Gateway で作成したSQL Server のエンドポイントにアクセスするため、[Microsoft SQL ServerとSQL Server Compact]を選択します。

続いて[データベースの内容を登録]画面でSQL Gateway のサービスへの接続情報を設定します。[サーバ名]にSQL Gateway が稼働しているサーバ名、[ポート]にサービスのポート番号を指定します。[ユーザID][パスワード]にはSQL Gateway のユーザ名とパスワードを指定します。[データベース名]にはSQL Gateway のサービスが使用しているDSN を指定します。

設定完了後、[テスト接続]を押下して接続が成功するか確認してください。

3. 動作確認

作成した接続を使ってSQL を実行できるか確認します。データベースを開くと以下のようなエラーが発生しますが、これは冒頭の制限事項で述べたようにSQL Gateway でスキーマ取得のクエリを実行できないために発生します。

このエラーを無視してSELECT 文でAccount テーブルのデータを取得してみると、以下のようにデータが取得できることを確認できます。

4. おわりに

本記事ではA5:SQL Mk-2 からSQL Server 接続を使ってSQL Gateway のサービスにアクセスする方法を紹介しました。SQL Gateway を使った構成でエラーを切り分けたいときなどにここで紹介した方法を使ってみてください。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。