HeidiSQL で MySQL 経由でAccess のデータにアクセス

Mohsin Turki
Mohsin Turki
Technical Marketing Engineer
CData ODBC ドライバーと SQL Gateway を使用して、HeidiSQL からリアルタイムのAccess データに接続・クエリする方法を解説します。

HeidiSQL は、MariaDB、MySQL、SQL Server、PostgreSQL をネイティブでサポートするオープンソースのデータベース管理ツールです。 CData ODBC Driver for Access と SQL Gateway を組み合わせることで、HeidiSQL からリアルタイムのAccess データにもアクセスできるようになります。この記事では、オンプレミスの Access に接続し、HeidiSQL でAccess のデータをクエリする方法を解説します。

Access のデータへの接続設定

まだ設定していない場合は、データソース名(DSN)で必要な接続プロパティを指定します。組み込みの Microsoft ODBC データソースアドミニストレーターを使用して DSN を設定できます。これはドライバーインストールの最終ステップでもあります。Microsoft ODBC データソースアドミニストレーターを使用して DSN を作成・設定する方法については、ヘルプドキュメントの「はじめに」の章をご参照ください。

Access接続の設定方法

ローカルファイルへの接続設定

ローカル環境からAccess への接続は非常にシンプルです。ConnectionTypeLocal に設定することで、CRUD 操作(SELECT、INSERT、UPDATE、DELETE)をすべて実行できます。接続にはDataSource プロパティに以下のようなAcces sデータベースファイルのフルパスを指定します。

C:\Users\Public\Documents\MyDatabase.accdb

詳細な接続手順については、ヘルプドキュメントの「はじめに」セクションをご参照ください。

クラウドストレージ上のAccess ファイルへの接続設定

各種クラウドストレージに保存されているAccess ファイルへのアクセスにも対応しています。ただし、クラウド上のファイルに対するデータ操作は、INSERT、UPDATE、DELETE に制限されますのでご注意ください。

S3、Google Driver、OneDrive など、各種クラウドストレージ内のAccess ファイルへの接続方法はこちらの記事をご確認ください。

クラウド上のファイルを更新したい場合は、以下の手順で実施いただけます。

  1. 対応するCData ドライバーを利用し、クラウドサービスからAccess ファイルをダウンロード
  2. Access ドライバーを使用して、ローカル環境でファイルを編集
  3. クラウドサービス用ドライバーのストアドプロシージャを使用して、更新ファイルをアップロード

具体例として、SharePoint 上のファイルを更新する場合の手順をご紹介します。

  1. CData SharePoint ドライバーのDownloadDocument プロシージャを使用してファイルを取得
  2. CData Access ドライバーでファイルの更新を実施
  3. SharePoint ドライバーのUploadDocument プロシージャで更新内容を反映

DataSource 接続プロパティの設定について補足いたします。接続先のクラウドストレージを識別するための一意の接頭辞を指定し、続けて目的のファイルパスまたはフォルダパスを記述します。フォルダを指定した場合は1ファイルが1テーブルとして、単一ファイルの場合は単一テーブルとして扱われます。

DSN を設定する際には、Max Rows 接続プロパティも設定することをお勧めします。これにより返される行数が制限され、レポートやビジュアライゼーションの設計時にパフォーマンスを向上させるのに役立ちます。

SQL Gateway の設定

SQL Gateway 概要を参照して、Access のデータを仮想 MySQL データベースとして接続できるよう設定します。クライアントからの MySQL リクエストを受け付ける MySQL リモーティングサービスを設定します。このサービスは SQL Gateway の UI で設定できます。

SQL Gateway で MySQL リモーティングサービスを作成(Salesforce の例)

HeidiSQL から SQL Gateway に接続するには、Web に公開されたマシンで SQL Gateway を実行する必要があります。SQL Gateway を設定したら、以下の情報を控えておいてください:

  • SQL Gateway をホストしているマシンの IP アドレスまたはドメイン名
  • MySQL サービスのデータソース名(通常は CData Access Sys)
  • MySQL サービスのポート番号
  • サービスにアクセス権を持つ SQL Gateway ユーザーの資格情報

リモートアクセスの設定

ODBC ドライバーとリモーティングサービスがオンプレミスにインストールされている場合(HeidiSQL からアクセスできない場合)、リバース SSH トンネリング機能を使用してリモートアクセスを有効にできます。詳細な手順については、ナレッジベース記事「SQL Gateway SSH トンネリング機能」をご参照ください。

HeidiSQL でAccess に接続

CData ODBC Driver for Access 用の MySQL サービスを設定したら、HeidiSQL でデータに接続する準備が整います。HeidiSQL で新しい接続セッションを作成し、MySQL ライブラリタイプを選択します。

SQL Gateway で設定したAccess 用 MySQL サービスの値を使用してデータセットを設定します(データベース名には必ず DSN を使用してください)。接続を検証して「Open」をクリックします。



HeidiSQL からAccess をクエリ

  1. 左側のデータベース一覧で、先ほど設定したAccess への接続を見つけます。
  2. 左側のデータベース一覧で、適切な接続を展開して、Access 内の個々のテーブルやデータオブジェクトを表示します。
  3. これらのテーブルに対してカスタム SQL クエリを記述し、データソースを通常の SQL Server データベースのように扱います。または、関連するテーブルを選択して各テーブルデータセットを視覚的に探索できます。

CData ODBC Driver for Access と SQL Gateway を使用することで、HeidiSQL からAccess のデータを簡単にクエリできます。HeidiSQL からオンプレミスのデータにアクセスする必要がある場合など、ご質問がありましたらサポートチームまでお問い合わせください。

はじめる準備はできましたか?

Access ODBC Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Access Icon Access ODBC Driver お問い合わせ

Microsoft Access ODBC ドライバーは、ODBC 接続をサポートする任意のアプリケーションからリアルタイムAccess データに連携できるパワフルなツールです。標準のODBC ドライバーインタフェースを使用して、どこからでもAccess データベースに接続できます。