はじめに
社内でFileMakerを使用している方もいるかと思いますが、今回はパブリッククラウドへのデータ連携などを行うために、FileMakerをデータソースとして利用できるかを検証してみました。
本記事の対象者
・基本的なプログラミングを理解している方
・FileMakerを利用している方
準備
・FileMakerProまたはFileMakerServerをインストールした端末
・Visual Studioなど、データ出力用のプログラムを開発できる環境
FileMakerとは
・プログラミングの知識がなくても、ドラッグ&ドロップで簡単にデータベースを作成できるローコードツールです。アドオンを使って、様々な機能を追加することも可能です。
検証
FileMakerの設定
FileMaker Proで、ODBC接続ができるようにユーザー設定と共有設定を行います。
・FileMakerで対象のテーブルを開き、
「ファイル」>「共有設定」>「ODBC/JDBCを有効にする」
を選び、共有を「オン」にします。
また、アクセスを許可するユーザーを設定します。
・ユーザーの追加は
「ファイル」>「管理」>「セキュリティ」
から行えます。
ODBCドライバのダウンロード
以下のサイトからFileMakerのODBCドライバをインストールします。インストールする際は、使用中のFileMakerのバージョンとOSに合ったドライバを選んでください。
なお、ODBCドライバは異なるデータベース間でデータをやり取りできるようにするためのソフトウェアで、データベースとアプリケーションの間の橋渡しを行います。
ODBCドライバのインストールと設定
ダウンロードしたODBCドライバをインストールし、その後ODBCデータソースアドミニストレーターを使用して接続設定を行います。
・まず、Windows 64bit版のドライバをインストールします。
・次に、ODBCデータソースアドミニストレーターを開き、システムDNSタブで「データソースの新規作成」を選択し、インストールしたODBCドライバを設定していきます。
・最後に、接続テストを実行して設定が正しく行われているか確認します。
C#コンソールアプリでデータを出力
C#のコンソールアプリケーションを使用して、FileMakerからデータをテキストファイルとして出力します。以下は、そのコード例です。
using System;
using System.Data;
using System.Data.Odbc;
using System.IO;
class Program
{
static void Main(string[] args)
{
// ODBC接続文字列を作成(DSNを使用)
string connectionString = "DSN=fmservername;UID=your_username;PWD=your_password";
// ODBC接続を作成
using (OdbcConnection connection = new OdbcConnection(connectionString))
{
try
{
connection.Open();
// SQLクエリを定義
string query = "SELECT * FROM test";
// SQLコマンドを作成
OdbcCommand command = new OdbcCommand(query, connection);
// データリーダーを使用してデータを取得
using (OdbcDataReader reader = command.ExecuteReader())
{
// 書き出すテキストファイルのパスを指定
string outputPath = "output.txt";
using (StreamWriter writer = new StreamWriter(outputPath))
{
// カラム名を書き出し
for (int i = 0; i < reader.FieldCount; i++)
{
writer.Write(reader.GetName(i) + "\t");
}
writer.WriteLine();
// データを一行ずつ書き出し
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
writer.Write(reader[i].ToString() + "\t");
}
writer.WriteLine();
}
}
}
Console.WriteLine("データの書き出しが完了しました。");
}
catch (Exception ex)
{
Console.WriteLine("エラー: " + ex.Message);
}
}
}
}
結果
テキストファイルとしてデータを正常に出力することができました。
感想
参考となる記事が少なく、最初は戸惑いましたが、やり方が分かれば思ったより簡単にデータ出力ができました。FileMakerをデータソースとして利用するためのODBCに関する情報が少ないと感じました。おそらく、新規でFileMakerを使い始めるユーザーが減っているため、それに伴いFileMakerとパブリッククラウドのデータ連携の事例が少ないのではないかと思います。