30
Introduction to External SQL Sources 外部 SQL ソース入門

Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

Embed Size (px)

Citation preview

Page 1: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

Introduction to External SQL

Sources

外部 SQLソース入門

Page 2: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 2 ページ

目次

本書について 3 ESS の概要 3 ESS の設計目的: 意図すること 4 ESS の設計目的: 意図しないこと 4 サポートされるデータソース 5 ESS の使用方法 5

Step 1: データベースへのアクセスとクレデンシャルを確立する .......................................... 6 Step 2: ホストマシンで DSN を定義する ................................................................................... 6 Step 3: FileMaker Pro で外部データソースを定義する .......................................................... 6 Step 4: FileMaker Pro のリレーションシップグラフに 1 つ以上のテーブルを追加する . 6 Step 5: シャドウテーブルへのリレーションシップを作成する .............................................. 6 Step 6: 外部テーブルを FileMaker Pro のテーブルと同じように使用する ......................... 7

外部データソースへのアクセスの確立 7 DSN の定義 8

Mac OS X での DSN の定義 ........................................................................................................... 8 Windows での DSN の定義 ........................................................................................................... 12

FileMaker Pro での外部データソースの定義 14 リレーションシップグラフへのテーブルの追加 17 新規テーブルのフィールド構造の管理 19 新規テーブルの操作 19 ESS のテーブルと FileMaker Pro のネイティブテーブル 22 サポートされるデータタイプ ......................................................................................................... 22 競合の問題:このデータは最新か?............................................................................................... 23 索引 ..................................................................................................................................................... 23 スキーマの変更 ................................................................................................................................. 24

ESS vs. FileMaker Pro のその他の SQL 接続方法 24 ESS のベストプラクティス 26

SQL について基本的な知識を身につける.................................................................................... 26 ビューについて知る ......................................................................................................................... 27 索引に注意する ................................................................................................................................. 27 注意深く検索する ............................................................................................................................. 27 注意深くソートする ......................................................................................................................... 27

付録:その他の資料 28 用語 ..................................................................................................................................................... 28 FileMaker TechNet テクニカルブリーフ .................................................................................. 28 サポートされる ESS データソース............................................................................................... 28 サポートされる ODBC ドライバ .................................................................................................. 29 書籍 ..................................................................................................................................................... 29

著者について 29

Page 3: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 3 ページ

本書について

本書は、FileMaker® Pro のデベロッパのほか、情報システムのプロフェッショナルの方々に、FileMaker Pro 9 製品ラインから導入され、FileMaker Pro 10 製品ラインにて利用可能な新機能である外部 SQL データソース(ESS)を、よりよく理解していただくためのものです。デベロッパおよび情報アーキテクトが ESS 機能セットの主なメリットを評価する際に役立つとともに、各機能セットの一連の用途および統合の可能性を理解できるような内容になっています。

本書では ESS の機能とメリットを詳細に説明して、デベロッパおよび意思決定者がシステムの目標達成に ESS をどのように役立てられるかの評価を支援します。さらに、FileMaker Technical Network (TechNet) のメンバーであれば、ESS 機能セットをより詳しく探る詳細な技術情報を必要としているデベロッパ向けの、包括的なテクニカルブリーフ(技術解説書)にもアクセスすることができます。詳細は本書の付録を参照してください。

【訳注】本書は英語版テクニカルブリーフ「Introduction to External SQL Sources」を直訳したもので、内容はすべて英語環境での動作に基づいています。日本のユーザの便宜を図るために対訳として用意したものであり、本文中の「訳注」の内容も含め、日本語環境での動作については一切検証されていないことをあらかじめご了承ください。英語版テクニカルブリーフは下記の URL から参照できます。 http://www.filemaker.com/downloads/documentation/techbrief_intro_ess.pdf

ESS の概要

FileMaker Pro には以前のバージョンからずっと、各種の外部データソースとクライアントとデータを共有できる機能がありました。ODBC ベースのデータソースからレコードをインポートできる機能、および[Execute SQL]スクリプトステップを用いて各種 SQL バックエンドで SQL コマンドを実行できる機能は、デベロッパに高い接続レベルと外部 SQL ベースデータソースとの相互接続性を提供しています。ただし、これらの接続機能には以下のようないくつかの限界があります。

• ODBC データソースからのインポートは一方通行の操作で、SQL ベースデータの「ライブ」なビューを提供しない。

• [Execute SQL]を用いて SQL ソース内でレコードの作成、変更、削除を行うには、手作りの SQL ステートメントを作成する必要がある。

• どちらの機能でも、各クライアントのデスクトップ上で ODBC ドライバを構成する必要がある。

FileMaker Pro 10 製品ラインの ESS 機能では、サポートされる SQL ソースからデータテーブルを FileMaker Pro スキーマに「取り込む」ことができます。ESS テーブルは、FileMaker Pro のテーブルと非常によく似た動作をします。ESS は以下のように、FileMaker Pro での既存の SQL 接続方法の限界を克服しています。

• ESS ビューは非常に動的で、再表示可能。

• デベロッパによる SQL クエリーの直接作成は不要:ESS 機能セットが操作に応じた適切なコマンドを生成する。

• FileMaker Server とともに使用する場合、ESS に必要なのは、データソースごとに1つの DSN だけで、サーバー上で作成されて保守される。

さらに、ESS では外部 SQL テーブルのスキーマを拡張する補助フィールドを定義することができます。補助フィールドは集計フィールドと非保存の計算フィールドによって構成され、それらは SQL テーブルからのデータに対して動作しますが、FileMaker Pro ソリューション内でローカルに定義されているものです。

本書の以下の項では、ESS 機能セットについて詳細に説明していきます。

Page 4: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 4 ページ

ESS の設計目的: 意図すること

ESS 機能セットを最大限に活用するためには、これらの機能が何のために設計され、どのように利用するのが最適かを理解しておくことが大切です。

ESS は、企業データウェアハウスや SQL ベースの E コマースシステムなど、既存の SQLデータソースに FileMaker Pro ソリューションをよりよく統合するための手段として設計されました。代表的な利用例のシナリオを以下に示します。

• ある大企業では、Oracle ベースの人事マスターデータベースを使用していますが、数多くの業務別アプリケーションが FileMaker Pro で開発されています。ESS を使用することによって、どの FileMaker Pro アプリケーションからも、社員や部署、部門の全社マスターリストの最新情報に直接アクセスすることができます。(当然ながら会社の IT 部門の承認が必要になります)

• あるコンピュータハードウェア再販業者では、MySQL ベースの E コマースWeb サイトを運営していますが、顧客管理と出荷は FileMaker Pro アプリケーションで処理しています。ESS を使用することによって、デベロッパは MySQL ベースの注文と支払い情報を FileMaker Pro ソリューションに「組み込む」ことができます。FileMaker Pro ソリューション上の顧客レコードでは、MySQL にあるすべての注文を簡単にポータルとして表示することができ、その際にインポートや同期は一切必要ありません。

• ある美術館には、Microsoft® SQL Server ベースの所蔵・展示管理システム、FileMaker Pro ベースの会員・寄贈管理システム、Oracle ベースの発券・販売システムがあります。ESS を使用することによって、この美術館では以下のようなことができるようになります。

o 発券情報と販売情報を FileMaker Pro ベースの会員データベースに組み込み、各会員についての来観傾向・販売傾向をより把握できる。

o FileMaker Pro ベースのダッシュボードを作成して、所蔵、展示、会員、販売の現状がわかる全体管理ビューを利用する。

ESS は、FileMaker Pro ソリューションが既存の SQL ベースのデータシステムとデータを共有できるようにすることをもっとも意図して設計されています。

ESS の設計目的: 意図しないこと

ESS は、「統合」に重点を置いています。ESS 機能セットは、FileMaker Pro を SQL データソースの「フロントエンド」として利用できるようにすることを意図したものではありません。特に、以下の点にご留意ください。

• ESS では、FileMaker Pro のデベロッパが独自の SQL クエリーを作成してサーバーに送ることはできません。ESS は操作に応じた SQL クエリーを自動的に作成します。(ただし、SQL データソース内でビューを定義することによって、ESS でそのような機能の一部は可能となります。それに比べて FileMaker Pro の[Execute SQL]スクリプトステップでは、デベロッパはカスタマイズした SQL クエリーを作成して送信することができます)

• ESS では、FileMaker Pro のデベロッパがサーバー側で SQL データソースのスキーマを変更または拡張することはできません。(ただし、FileMaker Pro 内で ESSテーブルに補助フィールドを追加できる機能によって、ローカルな拡張は可能です)

• ESS は、FileMaker Pro ソリューションを、FileMaker Pro のみをベースにしたソリューションの限界を超えてスケールアップできる手段として設計されたものではありません。ESS 機能セットは、SQL バックエンドの高スケーラビリティ機能を特

Page 5: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 5 ページ

に活用するためというよりはむしろ、SQL ベースのテーブルを FileMaker Pro ソリューションにシームレスに統合することに重点を置いて設計されたものです。

各自の FileMaker Pro ソリューションでの ESS の使用方法を計画する際には、これらの設計意図を常に念頭に置いておくことが大切です。

サポートされるデータソース

FileMaker Pro 10 でサポートされると認定された最新の SQL データソースは以下の通り。

• Oracle 9i

• Oracle 10g

• Oracle 11g*

• MS SQL Server 2000

• MS SQL Server 2005

• MS SQL Server 2008*

• MySQL 5.0 Community Edition

• MySQL 5.1 Community Edition*

* FileMaker Pro 10 で新規追加

ESS 機能セットは ODBC に基づいているため、FileMaker, Inc.は製品ラインの今後のリリースで、さらに多くの ODBC 対応データソースのサポートを加えることがあります。

サポートされるデータソースは、サポートされる ODBC ドライバと共に動作します。サポートされる ODBC ドライバについては、本書の付録を参照してください。

サポートされるドライバおよびデータソースに関する詳細は、下記の FileMaker のWeb サイトにあります。 http://www.filemaker.co.jp/support/technologies/sql.html

ESS の使用方法

この項では、ESS の使用事例を用いて使用法を説明します。続く項で、各ステップについてさらに詳しい手順を説明しています。

タラ・マヤリさんは、大企業で FileMaker Pro ベースのソリューションを保守しているFileMaker Pro 開発者です。タラさんが保守管理をしている FileMaker Pro ソリューションは、全社の人事データベースにアクセスする必要があります。現在は、会社の IT 部門が毎日タラさんに書き出したファイルを送信し、タラさんがそれを自分の部署の FileMaker Proソリューション内の適切なテーブルにインポートしています。会社の IT 部門から受け取る10 個のデータフィールドに加えて、タラさんの FileMaker Pro ファイルは、社員 1 名について 15 個ものデータフィールド(タラさんの部署に固有のデータです)も追跡しています。タラさんは ESS を活用して、Oracle データベースの人事マスターと、もっと直接的な統合を図ることにしました。

Page 6: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 6 ページ

Step 1: データベースへのアクセスとクレデンシャルを確立する

Oracle DBA(データベースアドミニストレータ)は、タラさんに基本テーブルへの直接アクセスを許可することはできませんが、タラさんが処理する必要のある 10 個の Oracle データベースフィールドへの読み取り専用アクセスを許可するデータベースビューを定義しようと考えています。DBA はタラさん用の新規ビューを作成し、そのビューへの読み取り専用アクセスを許可するユーザ名とパスワードを与えます。

Step 2: ホストマシンで DSN を定義する

DBA はタラさんが必要とするすべてを与えました。次に、新規データベースビューを自分のアプリケーションに統合するのは、タラさんの仕事です。タラさんのアプリケーションはFileMaker Server 10 上で稼働しています。タラさんは FileMaker Server マシン上にDSN(データソース名)をひとつだけ定義します。(これは大きな改善です。これまでODBC を利用するには、個々のユーザのデスクトップ上に DSN を構成しなければなりませんでした)DSN はタラさんのアプリケーションから Oracle データソースへの接続を許可します。

Step 3: FileMaker Pro で外部データソースを定義する

サーバー上にタラさんの DSN が定義されています。タラさんは FileMaker Pro Advancedを起動して、自分のソリューションにアクセスします。(ESS で作業するためにはFileMaker Pro Advanced を使う必要はありませんが、タラさんは開発者として、拡張デベロッパ機能セットを使いたいと考えています)[File]>[Manage]>[External Data Sources...]と進みます。新しい外部データソースを作成して、それが ODBC ベースになるよう選択します。外部データソースの定義では、定義したばかりの DSN を使うように指定し、データソース定義内に Oracle のユーザ名とパスワード保存します。(ユーザ名とパスワードは FileMaker Pro ファイル内で暗号化されているので、これは安全な選択であり、個々の FileMaker Pro ユーザは Oracle クレデンシャルを記憶して入力する必要がありません)これで外部データソースの構成は完了です。

Step 4: FileMaker Pro のリレーションシップグラフに 1 つ以上のテーブルを追加する

次にタラさんは、自分の FileMaker Pro ソリューション内のリレーションシップグラフに進みます。新規テーブルオカレンスを追加し、外部ソースからのテーブル追加を選択します。自分の Oracle ベース外部データソースを選択して、使用可能なテーブルのリストを表示します。そして Oracle DBA が自分用に定義してくれたビューを選択します。(タラさんは自分のクレデンシャルでは他のテーブルにはアクセスできないことを知っています)

そのビューをリレーションシップグラフに取り込むよう選択すると、以下のようなことが起こります。

• 新しいテーブルオカレンスが作成される。

• そのテーブルオカレンスに基づいて、新しいレイアウトが作成される。

• ソリューションのテーブルリストに新しいシャドウテーブルが追加され、そのOracle テーブルが FileMaker Pro のテーブルリストに表示される。

Step 5: シャドウテーブルへのリレーションシップを作成する

次にタラさんは、リレーションシップグラフに進みます。社員 1 名について、追跡したいデータフィールドが他に 15 個あります。これらのファイルをシャドウテーブルに直接追加することはできませんが、それらを現在使用している人事テーブルにそのまま保存しておき、

Page 7: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 7 ページ

そのテーブルから新規 SQL ベーステーブルへのリレーションシップを作成することができます。

これで、SQL ベースのデータとタラさんが保守する追加データの両方を同じビューに表示できるようになります。

Step 6: 外部テーブルを FileMaker Pro のテーブルと同じように使用する

以上のステップが完了すれば、タラさんはその Oracle ビューがまるで FileMaker Pro テーブルであるかのようにアクセスし、処理を行うことができます。新規レイアウトに移動すれば、Oracle テーブルからのレコードが表示されます。自分の関連する人事テーブルのフィールドにデータを追加することもできます。(ただし Oracle フィールドのいずれかを変更しようとしても、タラさんの権限では変更できません)検索モードに入り、Oracle テーブルに検索を実行して、Oracle フィールド、自分自身の追加フィールド、またはそれら 2 つの組み合わせを検索することができます。自分の FileMaker Pro テーブルと Oracle ビューの間にリレーションシップを作成し、他のテーブルのレコード上に Oracle の関連データを表示することができます。

さらに、タラさんは毎日のインポート作業を行う必要がなくなります。タラさんのアプリケーションは最新の人事データにアクセスでき、自分独自の関連データをマスターデータと並べて見ることができます。このような統合はタラさんのエンドユーザには透過的で、Oracle DBA が許可できるアクセスの限界内で機能します。

以下の項では、上記のステップをさらに詳しく見ていきます。

外部データソースへのアクセスの確立

外部 SQL ソース内のデータテーブルを処理するためには、適切な権限が必要です。場合によっては SQL の権限を直接制御できることもあり、その場合は自分自身で適切な権限を設定することができます。あるいは、別の個人やグループからアクセスを要求しなければならないこともあります。アクセスを認められるレベルの決定は、組織のポリシー、あるいは外部監査や法規制(2002 年のサーベインス・オクスリー法など)のコンプライアンスによって影響を受ける場合があります。

外部 SQL データソースへの DSN ベースの接続では、ユーザ名とパスワードを保存しておくことができます。これによって DBA は個々のユーザごとにクレデンシャルを設定する必要がなくなるため、とても便利です。DBA は 1 つのデータベースへのすべての FileMaker Pro アクセスについて、単一のクレデンシャルセットを設定できます。一方、以前から DBAがより詳細なユーザレベルのクレデンシャルを作成していた場合は、DSN の定義時にユーザ名とパスワードを指定しないでおくことができます。単一のユーザ名とパスワードを後からプロセス中で指定して、FileMaker Pro のデータソース参照内に保存することもできます。(DSN は FileMaker Pro 以外の用途も持つと思われるので、アクセス情報をハードコードするのは適切ではありません)あるいは、クレデンシャルをどこにも保存しない方法を選ぶこともできます。その場合、ユーザは SQL データソースにアクセスする時点でユーザ名とパスワードを尋ねられます。それぞれの状況に応じて、ある一方のシナリオがより有益であったり、あるいは別の方が有益だったりするかもしれません。

自分自身で SQL データベースの権限を設定するか、または DBA と協力してアクセスを構成するかどうかに関わらず、FileMaker Pro の SQL データベースとの情報のやりとりは必要最小限に抑えるのが適切です。これがあらゆる大型データストアへのクライアントアクセスについてのベストプラクティスで、必要なデータのみを処理し、問題や損失を起こすエラー発生の可能性を避けながら必要なアクセスのみを許可する構成にするのが、最適な方法です。以下に例を示します。

Page 8: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 8 ページ

• FileMaker Pro ソリューションが 10 個のフィールドのデータのみを必要とする場合には、これら 10 フィールドのみにアクセスし、残る 30 フィールドにはアクセスしない方法を見つけること。

• ユーザが SQL データの読み取りのみを必要とし、SQL レコードの更新を必要としていない場合には、SQL テーブルへの書き込みアクセスを禁止するクレデンシャルを使用させるようにすること。

• ユーザが処理する必要のあるレコードが、数十万にのぼるレコードのうち数千のみの場合には、必要とするレコードのみを表示できるよう制限する方法を見つけること。

これら 3 つの目標すべてを達成する一般的な方法は、SQL データベース内にデータベースビューを定義するものです。ビューは、独自の許可をもった一種の仮想テーブルと考えることができます。1 つのビューは複数の SQL テーブルのデータを組み合わせて、列(フィールド)の数と返されるレコード数を制限することができます。アクセスを得るのに DBA と協力する必要がある場合、DBA は適切なビューを作成することによってアクセスを許可する方法を好むことが多いのがわかります。

DSN の定義

外部 SQL ソースにアクセスするための次のステップは、ホストマシン上での DSN(データソース名)の定義です。マシンは、FileMaker Pro ファイルがローカルでホスティングされている場合はローカルコンピュータ、ファイルが FileMaker Server を用いてホスティングされている場合はサーバーマシンです。サーバー上で DSN を定義および管理することができれば、FileMaker Pro ODBC の実装を大きく前進させるステップになります。

Mac OS X での DSN の定義

この項では、Mac OS で MySQL 5 用の DSN を作成する方法を説明します。

1. サポートされる適切なドライバをダウンロードし、インストールします。ここでは、下記の URL からオープンソースデータベース用の ODBC ドライバのバージョン 2.7以降を選びます。Actual Technologies: http://www.actualtechnologies.com/product_opensourcedatabases.php(MySQL Connector ODBC を使用することもできます*1。サポートされるドライバの詳細は、本書の付録を参照してください) *1 訳注:Windows の場合

2. Mac OS X の「ODBC Administrator」(/Applications/Utilities フォルダにあります*2)を開きます。[System DSN]タブを選択して、[Add]ボタンを押します。 *2訳注:Mac OS X v10.6 Snow Leopard では標準のユーティリティとして提供 されていないため Apple のサイトからダウンロードする必要があります。

Page 9: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 9 ページ

(FileMaker Pro の ESS は[System DSN]のみをサポートしていることに注意してください。これは 1 つのマシン上の全ユーザが使用可能です)

3. 「Actual Open Source Databases」ドライバを選択します。

4. 「Create a New Data Source to an Open Source Database」の画面で、[Continue]ボタンをクリックします。

Page 10: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 10 ページ

5. 次の画面で、データベースのタイプに MySQL を選択します。DSN に適切な名前と説明をつけます。「ODBC Administrator」の[System DSN]タブから手順を開始した場合は、この画面でどちらの DSN タイプ(”System DSN”または”User DSN”)を選択しても、DSN は System DSN として作成されます。

6. 次の画面で、MySQL サーバーのホスト名か IP アドレスを選んでください。ここでは、サーバーは DSN と同じマシン上で動作しているので、localhost を選択します。あとは MySQL サーバーがデフォルト以外のポートで稼働しているならポート番号を変えるだけです。

7. 次の画面で、接続したいデータベースの名前を選択します。(必要な SQL データベースの正確な名前を知っている必要があります)

Page 11: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 11 ページ

8. 必要なオプションの設定をすべて完了すると、作成した DSN を説明する画面が表示されます。[Done]ボタンを押してください。 (これらの ODBC ドライバの画面は、時とともにドライバが進化するために実際には少しずつ異なる場合がありますが、まったく同一ではないにしても、ここに示している画面とほぼ同じはずです)

Page 12: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 12 ページ

9. これで、「ODBC Administrator」画面に新しい DSN が表示されます。変更を保存するためには、必ず[Apply]ボタンを押してください。これで「ODBC Administrator」を終了し、新しい DSN の使用を開始することができます。

Windows での DSN の定義

Windows での DSN の作成手順も、Mac OS での手順と非常によく似ています。

1. サポートされる適切なドライバをダウンロードし、インストールします。ここでは、下記の URL から MySQL Connector ODBC のバージョン 3.51.14 以降を選びましょう。 http://dev.mysql.com/downloads/connector/odbc/3.51.html#win32(サポートされる他のドライバの詳細は、本書の付録を参照してください)

2. Start > Control Panel > Administrative Tools > Data Sources (ODBC)を選択して、「Windows ODBC administration tool」を開きます。[System DSN]タブを選んで、[Add…]ボタンを押します。

Page 13: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 13 ページ

3. 「MySQL ODBC 3.51」ドライバを選択します。

4. DSN の名前と説明を入力します。さらに、データベースサーバーのホスト名またはIP アドレス、ユーザ名とパスワード、アクセスしたいデータベースの名前も入力する必要があります。

Page 14: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 14 ページ

5. [OK]ボタンをクリックすると、新しい DSN が「System DSN」ウィンドウに表示され、使用できるようになっています。

FileMaker Pro での外部データソースの定義

「外部データソース」は、現行の FileMaker Pro ファイルの一部ではないすべてのデータソースを表す FileMaker Pro 9 と 10 の用語です。そのようなデータソースを FileMaker Proリレーションシップグラフに「取り込む」ことができ、そこでは外部データソースであることを示すイタリック体の名前で表示されます。FileMaker Pro 7 から 8.5 まででは、外部データソースは他の FileMaker Pro ファイルのテーブルのみで構成することが可能で、「Define File References(ファイル参照を定義)」ダイアログから管理していました。FileMaker Pro 9 および 10 では、ODBC ベースの外部データソースも利用することができます。現在は、FileMaker Pro ベースのものも ODBC ベースのものも含めたすべての外部データソースを、「Manage External Data Sources(外部データソースの管理)」ダイアログから管理します。

新規の FileMaker Pro ファイルを作り、そのファイルの中にアプリケーションを作成する場合を考えてみましょう。そのアプリケーションは、MySQL データソースの顧客データにアクセスする必要があります。前の項で示された手順に従って、もう顧客データベースへの接続を許可する DSN の構成は終了しています。次のステップは、以下の通りです。

Page 15: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 15 ページ

1. [File] > [Manage] > [External Data Sources…]を選択します。[New…]ボタンをクリックします。

2. タイプを「ODBC」に指定し、ユーザ名、パスワードを入力します。(あるいは、ここでは入力せずにブランクのままとして、ユーザに直接認証させることもできます)次に DSN を選択するために、[Specify…]ボタンを押します。

Page 16: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 16 ページ

3. すると、ホストマシン上で使用可能な DSN のリストが表示されます。ファイルがローカルにホスティングされている場合には、そのローカルマシン上で使用可能なDSN のリストが表示されます。ファイルがリモートでホスティングされている場合には、そのリモートホスト上で定義されている DSN のリストが表示されます。適切な DSN を選択して、[OK]ボタンを押します。

4. これで、新しい ODBC ベースの外部データソースを使用できる状態になりました。

Page 17: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 17 ページ

リレーションシップグラフへのテーブルの追加 これで外部データソースが定義されたので、そのデータソースのテーブルを FileMaker Proのリレーションシップグラフに追加することができます。この手順は、外部 FileMaker Proファイルのテーブルを参照する手順ととてもよく似ています。

1. 「Manage Database」ダイアログを開き、「Relationships」タブからリレーションシプグラフに進みます。グラフに新しいテーブルオカレンスを追加します。FileMaker Pro の前バージョンと同様、現在のファイルからテーブルを参照するか、(以前にファイル参照でアクセスした)外部ソースからテーブルを参照するか、選択することができます。ここでは customers_mysql データソースがすでに定義されているので、それをグラフ用のデータソースとして使用することができます。

2. customers_mysql データソースを選択すると、そのソース内で定義されているSQL テーブルにアクセスすることができます。この例では、この MySQL データベースに入っているのは customer というテーブル 1 つだけなので、これにアクセスできます。

Page 18: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 18 ページ

3. リモートの顧客テーブルを選択すると、新しいテーブルオカレンスがグラフに取り込まれます。FileMaker Pro の前バージョンと同様、イタリック体のテーブルオカレンス名は、そのテーブルオカレンスが外部データソースをベースにしていることを表します。テーブルオカレンスの中には、その SQL 顧客テーブル内で定義されているすべてのフィールド名が表示されます。

Page 19: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 19 ページ

新規テーブルのフィールド構造の管理

ODBC ベースのデータソースにあるテーブルを初めて自分のスキーマに追加する時点で、FileMaker Pro はローカルファイル内にシャドウテーブルを作成します。シャドウテーブルには、リモート SQL テーブル内の全フィールドのフィールド定義が含まれています。これらのフィールドの定義を変更することはできません。シャドウテーブルからフィールドを削除することはできます。それによって SQL データベース自体が影響を受けることはありません。FileMaker Pro に取り込まれて表示されるフィールドが影響を受けるだけです。シャドウテーブルから関心のないフィールドを削除するのは、SQL ソースから取り込む必要のあるデータ量を制限する効果的な方法となります。削除したシャドウフィールドを復元する必要がある場合、または FileMaker Pro 内のシャドウテーブルの構造とサーバー上の SQL テーブルの構造とを再同期させる必要がある場合は、この画面の上部にある[Sync]ボタンを押してください。

シャドウテーブルの構造に補助フィールドを追加することもできます。補助フィールドは、下の画面でわかるとおり、FileMaker Pro でローカルに定義されている非保存の計算フィールドや集計フィールドです。この例では、顧客名の表示形式を「Last, First」にするための計算フィールドを追加しています。

新規テーブルの操作

リレーションシップグラフに新しいテーブルを追加したので、その SQL ベーステーブルを通常の FileMaker Pro テーブルであるかのように操作することができます。たとえば、FileMaker Pro テーブルと SQL ベーステーブルの間のリレーションシップを確立することが可能です。(また、選択すれば異なる SQL ベーステーブル間のリレーションも確立できます。ただし、同じ機能を実行する SQL サーバー上で DBA にデータベースビューを作成してもらうほうが、より効率的と思われます)

Page 20: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 20 ページ

たとえば SQL ベースの顧客テーブルを、地域や地区のフィールドなど、各顧客に関する追加情報の追跡によって拡張する必要が生じたものとします。これらは保存と編集が可能なフィールドでなければならないため、顧客シャドウテーブル自体の中で補助フィールドとして定義することはできません。ただし、この情報を保持する FileMaker Pro のネイティブテーブルを作成し、そのテーブルをリレーションシップによってシャドウテーブルビューにリンクさせることはできます。そのためには、以下のステップに従います。

1. 追加フィールドを入れておくための新しい FileMaker Pro ネイティブテーブルをcustomer_additional というテーブル名で定義します。

2. 追加したテーブルには、保存する必要のある新規データフィールドに加えて、SQLベーステーブルと関係づけるための適切な照合フィールドがあることを確認します。(ここでは、照合フィールドは id_customer です)

Page 21: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 21 ページ

3. SQL ベースのテーブルと FileMaker Pro ベースのテーブルの間にリレーションシップを作成します。

4. 両方のテーブルのデータを表示するデータレイアウトを作成します。下の図では、FileMaker Pro のネイティブ列が強調表示されています。ユーザの観点からは、この画面は基本および拡張顧客データの完全な編集可能ビューを表すものです。(FileMaker Pro アプリケーションが SQL フィールドに対する読み取り権限だけでなく書き込み権限も持っていると仮定した場合)

Page 22: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 22 ページ

ESS のテーブルと FileMaker Pro のネイティブテーブル

これまでの例で、外部データソースを構成し、そのテーブルの一部または全部を FileMaker Pro アプリケーションのスキーマに簡単に追加できることがわかりました。これらの外部テーブルは、FileMaker Pro 内でほとんどシームレスに利用することができます。ただし、ESS のテーブルと FileMaker Pro のネイティブテーブルとにはいくつかの重要な相違があり、それについて以下の項で説明していきます。

サポートされるデータタイプ

SQL データソースは、一般的に、FileMaker Pro より多数のデータタイプをサポートしています。多くの場合、これらのデータタイプは FileMaker Pro のデータタイプより詳細で、そして、一定の方法でさらに制限をかけることができます。たとえば、ほとんどの SQL データソースには整数データと浮動小数点データのために異なるデータタイプがありますが、FileMaker Pro は整数値と浮動小数点値の両方を単一のデータタイプで処理します。SQL の整数タイプでは、保持できるデータのサイズが制限されていることがあります。テキストタイプのフィールドのデータサイズも異なることがあります。たとえば、MySQL のテキストタイプはデフォルトで 65,535 文字のみを保持できるのに対し、FileMaker Pro のテキストタイプは理論上ではおよそ 10 億文字を保持できます。したがって、MySQL のテキスト列は FileMaker Pro のテキストフィールドにマップされますが、その FileMaker Pro シャドウフィールドには入力を 65,535 文字に制限する検証が含まれることになります。

たいていの場合、SQL フィールドは FileMaker Pro の対応するフィールドより少ないデータしか保持できません。わずかですが、SQL フィールドのほうが幅広いデータを処理できる場合もあります。いずれの場合にも、これらの制限を強制するシャドウフィールドには、FileMaker Pro はできるだけ検証を義務付けようとします。

Page 23: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 23 ページ

競合の問題:このデータは最新か?

純粋な FileMaker Pro 環境では、各クライアントのデータビューは非常に動的です。あるFileMaker Pro ユーザが 1 つのレコードに変更を加えた場合、そのレコードがサブミットされるとすぐに、他のすべての FileMaker Pro ユーザは変更済みのデータを見ることになります。ESS のテーブルのデータの場合では、そうはいきません。あるクライアントが ESS データに変更を加えた場合、それが FileMaker Pro を通した変更でも、他の方法による変更であっても、そのレコードにアクセスしている他のクライアントに即時にブロードキャストされることはありません。FileMaker Pro 10 は SQL データのビューを定期的に再表示しますが、FileMaker Pro に表示されているデータが最新の SQL データと一致していない時間が生じます。

FileMaker Pro 10 では、[Records]メニューから[Refresh Window]コマンドを使用できます。[Refresh Window]は、キャッシュされた ODBC データをすべてフラッシュでき、ODBC ソースのデータを再表示することができます。ユーザ(またはスクリプト)は、確実に最新の SQL データを処理するために、ときどき[Refresh Window]を使用する必要があります。レコードのロックについても、ESS ベースのテーブルでは少し動作が異なります。FileMaker Pro ベースのテーブルでは、あるユーザがレコードの編集を開始すると、他のユーザはそのレコードに対する変更を禁止されます。ESS レコードでは、この動作はありません。2 人のユーザが同時に 1 つの ESS レコードを編集することもできます。どちらか先にレコードをサブミットしたユーザが、データベースへの変更を送信できます。同じレコードのコピーを 2 番目にサブミットしたユーザには、下記のような警告が表示されます。

ここで、他のユーザの変更を上書きするか、自分の変更を取り消すか、決めることができます。

索引

データベースで効率的にデータを見つけるためには、索引が必要です。FileMaker Pro では、検索、ソート、リレーションシップの作成に索引が使用されます。多くの場合、デベロッパが FileMaker Pro の索引について心配する必要はありません。他に指示がない限り、要求された検索、ソート、リレーションシップ選択をサポートするために必要な索引を FileMaker Pro が作成してくれます。

ESS テーブルの場合は異なります。FileMaker Pro は ESS テーブルのスキーマを変更できないので、要求された操作をサポートする索引を自動的に作成することはできません。SQL側で索引のない ESS フィールドにユーザが検索を実行すると、その検索の実行速度は非常に遅くなることがあります。デベロッパはユーザによる検索を索引のある SQL フィールドに限定するとともに、SQL DBA と緊密に協力して、必要な索引を確実に用意しておくようにします。

Page 24: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 24 ページ

スキーマの変更

すでに何度か説明しましたが、重要なので繰り返します。ESS の機能には、FileMaker Proのデベロッパが SQL ベースのテーブルやデータベースのスキーマを編集する手段は一切ありません。作成したシャドウテーブルのスキーマを、SQL フィールドの除外や非保存の計算または集計補助フィールドの追加によって変更することは可能ですが、SQL スキーマを変更する直接的な手段はありません。スキーマ変更に影響を与えるためには、適切なアクセス権がある場合は自分自身で SQL スキーマを変更するか、変更できる人と協力する必要があります。

ESS vs. FileMaker Pro のその他の SQL 接続方法

ESS 機能セットの追加により、FileMaker の製品ラインは FileMaker Pro ベースのアプリケーションで SQL データソースのデータを操作する 3 つの異なる方法をサポートするようになりました。下記の表は、これらの方法を比較対照したものです。

Page 25: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 25 ページ

ODBC インポート

[Execute SQL] スクリプトステップ

外部 SQL データソース

サポートされるデータベース

ODBC ドライバのサポートによってのみ制限される

ODBC ドライバのサポートによってのみ制限される

Oracle 9i, Oracle 10g, Oracle 11g, MS SQL Server 2000, MS SQL Server 2005, MS SQL Server 2008, MySQL 5.0 および 5.1 Community Edition

ODBC データソースからのレコードの読み取り

○ ○

ODBC データソース内のレコードの作成、編集、または削除

○ ○

FileMaker Pro のようにダイナミックな ODBC データの操作

SQL データベースへのカスタムクエリーの送信

FileMaker Pro ベースおよび SQL ベースのデータセット間のリレーションシップの作成

補助フィールドによるSQL データセットの拡張

SQL テーブルのFileMaker Pro データベース構造への統合

[Execute SQL]スクリプトステップは、ESS よりはるかに幅広い ODBC ソースと連携できる可能性をもち、制約は使用できるドライバのみです。データの問い合わせには効果的に使用できませんが、サーバー上でのレコードの作成、編集、削除のみに、またはサーバー上にストアドプロシージャの呼び出しに、使用することができます。FileMaker Pro インターフェース内で ODBC ベースのデータを表示できる手段はありません。

ODBC データソースからのインポート機能は、やはり幅広い可能性をもっていますが、[Execute SQL]スクリプトステップのほとんど逆になります。データのクエリーのみに使用でき、SQL ソース内のレコードの作成、編集、削除には使用できません。

サポートされる ESS データソースについては、ESS 機能セットが最高の双方向性と機能性を提供します。ただし、サーバーへのカスタム SQL クエリー送信はサポートせず、現在のところ、使用は 3 つのサポートされる SQL 製品に制限されています。

Page 26: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 26 ページ

ESS によってサポートされていないデータソースについては、ODBC のインポートとFileMaker Pro の[Execute SQL]機能をともに使用すれば、FileMaker Pro およびODBC ベースのデータソースの間で簡単かつ効果的なデータ共有を行えます。

ODBC のインポートおよび[Execute SQL]機能に関する大切な注意は、ESS 機能セットにようにサーバー側 DSN を利用することはできない点です。リモートホスト上で定義された DSN は、ESS の操作のみに使用できます。ODBC のインポートおよび[Execute SQL]を使用する場合には、まだ各クライアントのデスクトップで DSN の構成が必要になります。

ESS のベストプラクティス

ESS は、FileMaker Pro ツールキットの中でも非常に強力な新しいツールです。この機能を最大限に活用するには、その設計の目的が何だったかを明確に理解しておく必要があります。設計の目的は、「幅広く使われている SQL ストレージシステムベースのデータテーブルをFileMaker Pro ソリューションに統合できるようにしながら、既存の FileMaker Pro のやり方と約束ごとの範囲内で、できるだけ透過的に操作できるようにすること」だと言えます。つまり、ソリューションが SQL ベースのシステムからのデータを統合できる一方で、そのデータはできる限り FileMaker Pro のデータと同じように見え、同じように動作する必要があるということです。

「FileMaker Pro ベースのソリューションのサイズやスケーラビリティの可能性を高める」ことは、ESS 機能セットの明確な設計目的ではないことに注目することが大切です。ESSをそのような方法で使うことができるかもしれませんが、機能セットは透過性と使いやすさを目指して設計されており、純粋に速度を高めるためのものではありません。そのため、最も大きくて複雑な FileMaker Pro ベースのテーブルを SQL ベースのテーブルで置き換えるのが ESS のよい使い方だと考えるのは、適切とは言えないでしょう。完全に正しく機能する場合もあるかもしれないし、あるシステムでは問題を解決する場合もあるでしょうが、常に注意しながら進め、この機能の設計者が達成しようとしていたことは、「大きくて高速なFileMaker Pro ベースのシステム」ではなく「スムーズで FileMaker Pro のような統合」だということをを忘れないようにしてください。

デベロッパとしてこれを心に留めておけば、ESS 機能の使用にメリットをもたらす数多くの重要なステップとプラクティスがあります。

SQL について基本的な知識を身につける

ESS 機能セットの最も目覚ましい特徴の 1 つは、SQL クエリーの詳細がデベロッパから見えないことですが、それでも SQL の基本的な働きについて知っておくと役立ちます。何らかの理由で SQL ベースサーバーから期待する結果が得られない場合、ある程度の調査をすることになります。SQL クエリーログを見たり、SQL データベースの構造を DBA と話し合ったりしなければならないこともあります。テクノロジーのどの分野でも言えることとして、知っていれば知っているほど、役に立ちます。サポートされる 3 つの SQL データベースシステム(Oracle、MySQL、MS SQL Server)はすべて、ダウンロードしてインストールできる無料版があります。いずれか 1 つを選んで、システムの一部機能、利用できるツール、SQL 言語の基本を知っておくことは、時間をかけるだけの価値があります。

Page 27: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 27 ページ

ビューについて知る

SQL バックエンドの特に重要な機能は、データベースビューを保存、管理できることです。ビューは、一種の保存されたクエリー、独自のアクセス許可をもてる仮想テーブルと考えることができます。たとえば、1000 万のレコードと 60 のデータフィールドをもつ顧客テーブルがある場合、DBA は SQL クエリー ”SELECT name_first, name_last, address, city, state, zip FROM customer_master WHERE region=’East’” に基づいて、eastern_address_book という名前のビューを作成することができます。このビューは、他のどの SQL テーブルともまったく同じように、クエリー(および FileMaker Pro への組み込み)が可能です。数多くの顧客フィールドのうち数個だけを選択する、また顧客レコードのサブセットのみを選択するという、役立つ特性があります。1 回に処理する SQL データの量を制限するのは、ESS にとって不可欠なベストプラクティスです。

索引に注意する

FileMaker Pro とは異なり、SQL ベースのシステムはユーザのクエリーをサポートする索引を自動的に作成しません。ユーザが既存の索引によって十分にサポートされていないクエリーをサブミットすると、そのクエリーの実行速度が非常に遅くなる場合があります。どの索引が必要かをよく考え、それが SQL 側に存在することを確認してください。特に以下の動作をサポートする索引が必要となります。

• リレーションシップ:SQL テーブルとのリレーションシップを作成したい場合、リレーションシップの照合フィールドとして使用したいすべての SQL に、索引が必要。(なくてもリレーションシップは機能しますが、解決速度は遅くなることがある)

• 検索:ユーザがフィールドを検索したい場合、SQL 内に何らかの索引が必要になると思われる。ESS 機能は SQL サーバーに、できるだけ多くのクエリー処理をさせようとする。一部の検索は SQL で全面的にはサポートされていないことがあり、その場合は FileMaker Pro 自身がクエリー処理を「完結」させる(訳注:FileMaker 側で処理する)が、SQL 側での適切な索引作成が不可欠。

注意深く検索する

索引に関する注意の延長として、ユーザが ESS データソースに対して検索を実行できる方法を制限すると便利でしょう。たとえば、そのような検索が必ず適切な索引のあるフィールドで実行されるようにします。そこで、ESS データ用に特別な検索フォームを作成するか、検索可能なフィールドを示すために、何らかの形式の視覚的な強調表示を使用します。FileMaker Pro のレイアウト機能を使用して、ユーザが検索モードでは索引のない ESS フィールドに入れないようにすることもできます。

注意深くソートする

FileMaker Pro には豊富な多言語サポートがありますが、文字セットと文字のコード化は複雑なため、FileMaker Pro は特定の SQL システムに FileMaker Pro によるソートと同じ方法でレコードをソートさせることはできません。したがって、検索とは異なり(検索の場合、FileMaker Pro はできるだけ SQL システムに処理を任せようとします)、ESS データのソートはすべて FileMaker Pro 内で実行されます。FileMaker Pro での ESS データのクエリー方法により、大規模な ESS データセットのソートは効率が悪くなりやすく、避けるべきです。ユーザが大型のデータセットを常に特定の順序にソートした状態で操作する必要がある場合には、SQL 側に必要なソート順序を組み込むデータベースビューを定義するようにしてください。一般的に、ESS レコードの小さいグループのみをソートするのが最適です。数百から数千のレコードの場合に、最高のパフォーマンスを発揮すると思われます。

Page 28: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 28 ページ

付録:その他の資料

用語

以下に、ESS 機能セットを理解するために重要な用語について、概要を示します。

ESS:外部 SQL ソース。選ばれた SQL データソースのデータを、FileMaker Pro のデータベースから動的に参照できるようにする。

ODBC:オープンデータベースコネクティビティ。データベースとの通信に広く使用されているインターフェース。ESS は ODBC 接続を介して機能する。

ODBC ドライバ:ODBC と特定の ODBC データソースとの通信をサポートするソフトウェア。

DSN:データソース名。構成設定値のグループで、特定の ODBC 対応データベースへの通信に、特定の ODBC ドライバをどのように使用するかを指示する。

シャドウテーブル:FileMaker Pro に保存されているテーブル定義。外部 SQL ソース内のテーブルの「シャドウ(影)」。

シャドウフィールド:SQL データソース内のフィールド定義に対応する、シャドウテーブル内のフィールド定義。このフィールドは SQL ベースフィールドの「シャドウ(影)」。通常の FileMaker Pro フィールドとは異なり、定義を編集することはできないが、シャドウフィールドをシャドウテーブルから削除することはでき、それによって FileMaker Pro がそのフィールドを使用または表示できないようにすることが可能。

補助フィールド:シャドウテーブルに追加された非保存計算または集計フィールド。補助フィールドは、FileMaker Pro で定義されている非保存フィールドで SQL スキーマを補完する。

FileMaker TechNet テクニカルブリーフ

本書は、ESS の採用を検討している方のために、ESS 機能セットについて説明しています。本書を補足する資料として、ESS 機能セットについてさらに詳しく技術的な説明を加えている包括的なテクニカルブリーフ(技術解説書)もあり、TechNet のメンバーになると利用できます。その TechNet テクニカルブリーフは、ESS の採用や実装を予定していて、FileMaker Pro が ESS を使用して SQL ベースのシステムと情報のやりとりをする方法を詳しく理解したいと思っているデベロッパ向けのガイドブックです。

TechNet のメンバーになる方法については、下記のWeb サイトを参照してください。 http://www.filemaker.co.jp/technet/

サポートされる ESS データソース

ESS は現在、下記のデータソースをサポートしています。これらのいずれかを使用している場合、製品についてまだよく知らなければ、ベンダーの「ライト」版または「Express」版をダウンロードしてみてください。

Oracle Database Server (9i, 10g, 11g): http://www.oracle.com/database/index.html (このページに Express 版へのリンクがあります)

MySQL Community Edition (5.0 および 5.1): http://dev.mysql.com/downloads/mysql/5.0.html (MySQL に「ライト」版または「Express」版はありません: the Community Edition は無料でダウンロードできます。また下記のWeb サイトにある GUI Tools も参考になります。 http://dev.mysql.com/downloads/gui-tools/5.0.html)

Page 29: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 29 ページ

MS SQL Server (2000, 2005, および 2008): http://www.microsoft.com/sql/default.mspx 「Express」版は下記のWeb サイトにあります。 http://www.microsoft.com/sql/editions/express/default.mspx

サポートされる ODBC ドライバ

ESS は、サポートされる ODBC ドライバとともに使用することが大切です。サポートされていないドライバを使用すると、正しくない結果が生じることがあります。

最新のサポートされるドライバおよびデータソースに関する更新情報は下記のWeb サイトにあります。http://www.filemaker.co.jp/support/technologies/sql.html

書籍

ESS では SQL プログラミングの詳細がユーザやデベロッパから見えないようになっていますが、ESS を使用する場合には SQL についてある程度知っていると役立ちます。SQL を少し詳しく説明している無料オンラインブックの参照先を下記に示します。最新版ではありませんが、SQL の基本はほとんど変わっておらず、このオンラインブックの内容は確かな出発点となります。

http://podgoretsky.com/ftp/Docs/DB/SQL%20in%2021%20Days/fm/fm.htm

著者について

スティーヴ・レインは Soliant Consulting のバイスプレジデントで、これまで 8 年にわたって FileMaker とWeb 開発チームを率いてきました。FileMaker に関する 5 冊の書籍を共同執筆した経験をもつとともに、FileMaker Developer Conference でも頻繁に講演し、2003 年には「FileMaker Pro の限界を広げた」として FileMaker Fellowship 賞を受けました。また FileMaker の認定トレーナーとして、FileMaker Professional Training Foundation Series 資料の最新の 3 版の作成にも加わっています。小規模な民間企業から大規模な公共企業まで、多様な FileMaker クライアントのコンサルタントを務め、FileMakerシステムとWeb ベースおよび SQL ベースのシステムとの統合を専門としています。シカゴ大学で中世史の博士号を取得し、以前、同大学で Macintosh ベースの Double Helix システムを用いた初のリレーショナルデータベースを構築しました。

本書は、たくさんの方々のアドバイスや見識をお借りして完成したものです。特に、ガルト・ジョンソンとクレイ・メーケルは重要な技術批評を加え、レイ・コロゴンは日付・時刻フィールドに関連する SQL Server の動作の重要な側面について注意を促し、検討してくれました。

Page 30: Introduction to External SQL Sources - Create custom …fmdl.filemaker.com/.../techbrief_intro_ess_jp.pdf外部SQLソース入門 2ページ 目次 本書について 3 ESS の概要

外部 SQL ソース入門 30 ページ

---

©2009 FileMaker, Inc. All rights reserved. FileMaker、ファイルメーカー及びファイルフォルダロゴは、米国及びその他の国において登録された FileMaker, Inc. の商標です。その他の商標はすべて、それぞれの所有者の財産です。

FileMaker は、個々の独立した提供者により製造されここに紹介される製品の性能や信頼性について、明示的であれ、黙示的であれ、なんらの保証をもおこなうものではありません。協定、合意、または保証は、たとえ交わされるとしても、すべて提供者と将来のユーザの間において交わされるものとします。製品の仕様や提供の可能性は、予告なく変更される場合があります。

本書は、一切の保証なしに “現状のまま” 提供されるものであり、FileMaker は、黙示の商品性の保証、特定の目的についての適合性、非侵害の保証を含め、一切の明示あるいは黙示の保証を否認します。FileMaker ならびに FileMaker の供給者は、直接的損害、間接的損害、偶発的損害、結果的損害、営業利益の損失、懲罰的損害、特別損害を含め、このような損害が生じる可能性についてたとえ知らされていたとしても、いかなる損害についても一切の責任を負わないものとします。法域によっては、無保証あるいは責任制限を認めない場合があります。FileMaker は、本書を予告なくいつでも変更できるものとします。本書はいずれ時代遅れとなるかもしれませんが、その情報を最新の情報にすることを約束するものではありません。

---

©2009 FileMaker, Inc. All rights reserved. FileMaker is a trademark of FileMaker, Inc., registered in the U.S. and other countries, and the file folder logo is a trademark of FileMaker, Inc. All other trademarks are the property of their respective owners. FileMaker makes no warranties, express or implied, with respect to the performance or reliability of any products presented herein that are manufactured by independent vendors. All understandings, agreements, or warranties, if any, take place between the vendors and prospective users. Product specifications and availability subject to change without notice. (Docv2)

THIS DOCUMENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, AND FILEMAKER DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR THE WARRANTY OF NON-INFRINGEMENT. IN NO EVENT SHALL FILEMAKER OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS, PUNITIVE OR SPECIAL DAMAGES, EVEN IF FILEMAKER OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY. FILEMAKER MAY MAKE CHANGES TO THIS DOCUMENT AT ANY TIME WITHOUT NOTICE. THIS DOCUMENT MAY BE OUT OF DATE AND FILEMAKER MAKES NO COMMITMENT TO UPDATE THIS INFORMATION.