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 とともにデフォルトでインストールされます。

じゃあ、楽だね!やってみよ。

  1. MySQL 5.7のサーバー環境を構築します。
  2. Master Book 上級編を参考に、ここで扱っているMySQLのサンプルファイル 「sakila」をセットアップします。
  3. ESS接続用のアカウント「fm_odbc」を作成します。
  4. 「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の理解知識が必要で難しかったので、そこの解説は省略します。

  1. unixodbcをインストールします。
    これがないと、次のMySQLのドライバが入りません。
    sudo apt install unixodbc
  2. これから取得するファイルを、作業用ディレクトリ「 temp_installer 」を作成し、入れると楽です。
    cd ~

    作業者アカウントのホームディレクトリへ移動します。

    mkdir temp_installer

    作業用ディレクトリ 「 temp_installer 」を作成します。

    cd temp_installer

    作業用ディレクトリへ移動します。

  3. MySQLのサイトからConnector/ODBCを取得します。
    2021年7月時点のファイル名:mysql-connector-odbc-5.3.14-linux-ubuntu18.04-x86-64bit.tar.gz

    wget以外の方法でも取得していいよ。
    手順2のディレクトリに移動させてね。

  4. https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-installation-binary-unix-tarball.html
    の手順を見ながら、Connector/ODBCをインストールします。
  5. gzip圧縮ファイルを展開します。
    gunzip mysql-connector-odbc-5.3.14-linux-ubuntu18.04-x86-64bit.tar.gz
  6. tarballを展開します。
    tar xvf mysql-connector-odbc-5.3.14-linux-ubuntu18.04-x86-64bit.tar

  7. 展開によって作成されたディレクトリへ移動します。
    cd mysql-connector-odbc-5.3.14-linux

  8. binディレクトリのファイルをまとめて、コピーします。
    sudo cp bin/* /usr/local/bin
  9. libディレクトリのファイルは、別のコピー先です。
    sudo cp lib/* /usr/local/lib
  10. コピー先のディレクトリへ移動します。
    cd /usr/local/bin

  11. MySQL Connector/ODBCのインストールコマンドを実行します。
    sudo myodbc-installer -a -d -n "MySQL" -t "Driver=/usr/local/lib/libmyodbc5w.so"
    1. 必要なのは、For Connector/ODBC 5.3: の「Unicode」の方だけ。
      (MySQL 8用や、ANSIは、インストール不要です。)
    2. MySQLの手順では、”MySQL ODBC 5.3 Driver” となっている部分は、”MySQL” に、置き換えましょう。
    3. インストールできたか、検証します。
      sudo myodbc-installer -d -l

      b.の” ”の中が「MySQL」と、表示されれば、成功です。


ここまでが、Clarisのナレッジに記載がないところです!

後は、Clarisのナレッジの手順どおり。

  1. 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'
  2. FileMaker Pro で、ファイルを用意し、FileMaker Server にアップロードします。

  3. ファイルメニュー>定義>外部データソースを選びます。[ 新規 ] ボタンをクリックします。

  4. まず、タイプは [ ODBC ] を選びます。続いて、 [ 指定… ] ボタンをクリックします。

  5. ODBC データソースを選択 画面が開かれます。

    データソース名に、手順15の [MySQL_sakila] が表示されます。

    ドライバに、手順15のDriver = MySQLが表示されます。

    確認したら、 [ OK ] をクリックします。

  6. 手順15の認証では、[ ユーザとパスワードを指定 ] を選択します。

  7. MySQLに定義したアカウント「fm_odbc」を設定します。

  8. タイプによるフィルタ:は、表示させたいテーブルやビューに合わせてチェックします。

  9. 手順15から手順19の設定結果がこのようになります(ご参考まで)。[ OK ]ボタンをクリックします。

  10. ファイルメニュー>定義>データベース、リレーションシップタブ画面を表示します。

  11. [ テーブルを追加 ] ボタンをクリックします。

  12. データソースポップアップメニューは、手順15で表示されたデータソースを選択します。

  13. MySQLのテーブル、またはビューを選択します。

  14. 名前(テーブルオカレンス名)を必要に応じて、変更します。

  15. [ OK ]ボタンをクリックします。

まとめ

もともと、ODBCドライバの事前知識がなく、さらにODBCドライバの組み込み方はあまり情報もなく、あってもドキュメント同士に相互の一貫性はないので、どういう意味なのか理解するのに四苦八苦しました。

Claris社からはいずれナレッジが更新されるものと思いますが、それまでの間、この記事がお役に立てれば幸いです。

かっ飛び小僧

2020年サポータスに入社したばかりの新人です。よろしくお願いします。 FileMaker開発歴25年にもなってくると、新技術の理解に苦労するので、開発業務はほぼ引退しました。 現在の主な業務は、社員教育や、社員の技術・プロジェクトサポート、新ビジネスの企画を行っています。 スキー場で気持ちよーく滑っていたら、「そこの『かっ飛び小僧』に気をつけろ」と呼ばれた、元競技系スキーヤーです。

ロゴ:Claris Partner PLATINUM
Claris パートナーの中でも最上位のPLATINUMレベルメンバーとして、Claris FileMaker を活用したソリューションを提供いたします。
FileMaker 、ファイルメーカー、 FileMaker Cloud 、 FileMaker Go およびファイルフォルダロゴは、
Claris International Inc. (旧 FileMaker, Inc.)の米国および/またはその他の国における登録商標です。
ボタン:ページトップへ