Accessからレンタルサーバー(Xserver)のデータベースにODBC接続する方法③【ODBC接続編】

データベース

前回はローカルからSSHでサーバーに接続するために、ポートフォワード等の設定を行いました。

今回の主な設定

  • AccessでODBC接続の設定を行う
  • コマンドラインからデータベースを操作してみる

Accessのバージョンは、2016を使用しています。

AccessでODBCの設定を行う

いよいよローカルのAccessからサーバー上のデータベースに、ODBC接続します。

サーバーにはssh接続されている前提で進めます。

[外部データ]ー[新しいデータソース]ー[他のソースから]ー[ODBCデータベース]の順にクリックします。

表示されたダイアログボックスの中の[リンクテーブルを作成してソースデータにリンクする]をクリックで選択し、[OK]をクリックします

作成したデータソースをクリックで選択して、[OK]をクリックします

任意のテーブル名をクリックで選択して、[OK]をクリックします

リンクテーブルが作成され、サーバー上のデータベースを参照できました。

これで全ての設定が完了しました!

ssh接続とポートフォワードの設定で使用した、teratermを使ってデータベースをコマンドラインから操作することもできます。

起動中のteratermを使用して、コマンドラインからデータベースを操作してみましょう。

コマンドラインからデータベースを操作する

起動中のteratermに以下のコマンドを入力します。

mysql -h mysqlXXXX.xserver.jp -u[ユーザ名] -p[パスワード]

[-u][-p]のオプションの後にはスペースを入れない点に注意してください。

mysqlXXXX.xserver.jp MySQLのホスト名。サーバー上で確認できます。詳しくはこちら
ユーザID データベースのユーザID
パスワード データベースのパスワード

上手く接続できると、MySQL[none]>というプロンプトになります。

使用できるコマンド

色々なコマンドを試したところ、CREATEなどのデータベースを作成するコマンドやユーザーを作成するコマンドは弾かれました。サーバーの仕様のようです。

また、コマンドの最後に[;]をつけないとエラーになる点にも注意が必要です。

よく使いそうなコマンドを備忘録的にまとめます。

show databases;
データベースの一覧を表示します。

use [データベース名];
データベースを選択します。

show tables;
テーブルの一覧を表示します。

SELECT ~ ;
レコードの値を取得します。

UPDATE ~ ;
レコードを更新します。

INSERT ~ ;
テーブルにレコードを追加します。

DELETE ~ ;
テーブルからレコードを削除します。

まとめ

Accessからレンタルサーバー(Xserver)のデータベースにODBC接続する方法を、3回に分けて説明してきました。

今回のポイント

  • AccessでODBC接続する前に、サーバーとのSSH接続を開始しておく(でないと上手くODBC接続されません)
  • teratermからコマンドラインでデータベースを操作できる
  • サーバーの仕様により使用できるコマンドは制限される(CREATEコマンドなどは弾かれる)

ローカルPCから外部サーバーのMySQLデータベース等を参照できると、システム開発やWebサービス開発の幅もグッと広がります。

過去2回の記事も参考にしながらぜひ挑戦してみてください。