FileMaker Server for LinuxでのESS
かっとび小僧の人柱日記続編です。
Claris FileMaker Server for Linux 19.3 でESSができるか検証してみました。
あれれ!?
前回のインストール編に引き続き、Ubuntu 上で構築した FileMaker Serverで、ESS を試してみよう!
https://support.claris.com/s/article/External-SQL-data-sources-on-Linux?language=ja
を見ると、
FileMaker Server for Linux は、次のデータソースをサポートしています。
MySQL
SQL Server
Oracle
(中略)
MySQL: 最新の ODBC ドライバは、FileMaker Server とともにデフォルトでインストールされます。
じゃあ、楽だね!やってみよ。
- MySQL 5.7のサーバー環境を構築します。
- Master Book 上級編を参考に、ここで扱っているMySQLのサンプルファイル 「sakila」をセットアップします。
- ESS接続用のアカウント「fm_odbc」を作成します。
- 「fm_odbc」アカウントが外部から接続できることをMySQL Workbenchを使って、確認、準備OK!
次に、FileMaker Server環境の作業に移ります。
sudo vi /etc/odbc.ini
あれ? odbc.ini に記述がない。
sudo vi /etc/odbcinst.ini
odbcinst.ini にも記述が全然ないぞ。
ここには、インストールされたドライバの保存先が記述されなければならないのに。
つまり、ナレッジの内容が、更新されていないってこと?!
ああ、これ、手動でインストールするパターンだぁ…
ESSのためのセットアップ手順
前回のインストール紹介のときは、簡単なLinuxコマンドでできると紹介しましたが、さすがに今回はLinux系OSの理解知識が必要で難しかったので、そこの解説は省略します。
- unixodbcをインストールします。
これがないと、次のMySQLのドライバが入りません。sudo apt install unixodbc
- これから取得するファイルを、作業用ディレクトリ「 temp_installer 」を作成し、入れると楽です。
cd ~
作業者アカウントのホームディレクトリへ移動します。
mkdir temp_installer
作業用ディレクトリ 「 temp_installer 」を作成します。
cd temp_installer
作業用ディレクトリへ移動します。
- MySQLのサイトからConnector/ODBCを取得します。
2021年7月時点のファイル名:mysql-connector-odbc-5.3.14-linux-ubuntu18.04-x86-64bit.tar.gzwget以外の方法でも取得していいよ。
手順2のディレクトリに移動させてね。 - https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-installation-binary-unix-tarball.html
の手順を見ながら、Connector/ODBCをインストールします。 - gzip圧縮ファイルを展開します。
gunzip mysql-connector-odbc-5.3.14-linux-ubuntu18.04-x86-64bit.tar.gz
- tarballを展開します。
tar xvf mysql-connector-odbc-5.3.14-linux-ubuntu18.04-x86-64bit.tar
- 展開によって作成されたディレクトリへ移動します。
cd mysql-connector-odbc-5.3.14-linux
- binディレクトリのファイルをまとめて、コピーします。
sudo cp bin/* /usr/local/bin
- libディレクトリのファイルは、別のコピー先です。
sudo cp lib/* /usr/local/lib
- コピー先のディレクトリへ移動します。
cd /usr/local/bin
- MySQL Connector/ODBCのインストールコマンドを実行します。
sudo myodbc-installer -a -d -n "MySQL" -t "Driver=/usr/local/lib/libmyodbc5w.so"
- 必要なのは、For Connector/ODBC 5.3: の「Unicode」の方だけ。
(MySQL 8用や、ANSIは、インストール不要です。) - MySQLの手順では、”MySQL ODBC 5.3 Driver” となっている部分は、”MySQL” に、置き換えましょう。
- インストールできたか、検証します。
sudo myodbc-installer -d -l
b.の” ”の中が「MySQL」と、表示されれば、成功です。
- 必要なのは、For Connector/ODBC 5.3: の「Unicode」の方だけ。
ここまでが、Clarisのナレッジに記載がないところです!
後は、Clarisのナレッジの手順どおり。
- odbcの設定ファイルを記述します。
sudo vi /etc/odbc.ini
(補足)下記の // は任意の説明書きです。//と説明は記述を省略できます。
[MySQL_sakila] // FileMaker Proの外部データソースに表示される見出し(任意の名称 Driver = MySQL // ここの [ ] の中を、11.b.でのメモ ”MySQL” に一致させること。 Database = sakila // MySQL のデータベース名 Server = XXX.XXX.XXX.XXX // 用意したMySQLサーバー環境 の IP アドレス Port = 3306 // MySQLに接続するポート番号 client_charset = 'UTF-8'
- FileMaker Pro で、ファイルを用意し、FileMaker Server にアップロードします。
- ファイルメニュー>定義>外部データソースを選びます。[ 新規 ] ボタンをクリックします。
- まず、タイプは [ ODBC ] を選びます。続いて、 [ 指定… ] ボタンをクリックします。
- ODBC データソースを選択 画面が開かれます。
データソース名に、手順15の [MySQL_sakila] が表示されます。
ドライバに、手順15のDriver = MySQLが表示されます。
確認したら、 [ OK ] をクリックします。
- 手順15の認証では、[ ユーザとパスワードを指定 ] を選択します。
- MySQLに定義したアカウント「fm_odbc」を設定します。
- タイプによるフィルタ:は、表示させたいテーブルやビューに合わせてチェックします。
- 手順15から手順19の設定結果がこのようになります(ご参考まで)。[ OK ]ボタンをクリックします。
- ファイルメニュー>定義>データベース、リレーションシップタブ画面を表示します。
- [ テーブルを追加 ] ボタンをクリックします。
- データソースポップアップメニューは、手順15で表示されたデータソースを選択します。
- MySQLのテーブル、またはビューを選択します。
- 名前(テーブルオカレンス名)を必要に応じて、変更します。
- [ OK ]ボタンをクリックします。
まとめ
もともと、ODBCドライバの事前知識がなく、さらにODBCドライバの組み込み方はあまり情報もなく、あってもドキュメント同士に相互の一貫性はないので、どういう意味なのか理解するのに四苦八苦しました。
Claris社からはいずれナレッジが更新されるものと思いますが、それまでの間、この記事がお役に立てれば幸いです。