ODBC データソースにより、FileMaker ファイルは外部 ODBC テーブルのデータにアクセスすることができます。FileMaker テーブルを表示および更新するのとほとんど同じ方法で、リレーションシップグラフの ODBC テーブルをインタラクティブに表示および更新することができます。
FileMaker は、外部使用のために ODBC API を提供する多くのリレーショナルデータベース管理システム (RDBMS) に接続することができます。サポートされているデータソースの一覧については、ODBC クライアントドライバの設定を参照してください。
重要 ODBC データソースを使用して操作するには、次の内容を実行する必要があります:
•ODBC ドライバを使用してデータソースに接続して DSN を設定します。ODBC クライアントドライバの設定を参照してください。
•ODBC データソースを追加します。外部データソースへの接続を参照してください。
ODBC データソースを FileMaker Pro Advanced ファイルにリンクさせた後、オプションを設定および編集することができます。
1. [ファイル] メニュー > [管理] > [外部データソース...] を選択します。
2. リストから ODBC データソースを選択して、[編集...] をクリックします。
3. データソースの名前を変更し、異なる DSN を指定し、名前を付けた ODBC データソースにログインするための認証オプションを設定し、または表示オプションを設定することができます。
4. [認証] のデフォルトオプションは、[ユーザ名とパスワードの入力を求める] です。テーブルに初めてアクセスする時に、ユーザはユーザ名とパスワードを入力する必要があります。
この FileMaker ファイルのすべてのユーザに入力要求をしない場合は、[ユーザ名とパスワードを指定する (すべてのユーザに適用)] を選択し、ユーザ名とパスワードを入力します。外部テーブルにアクセスユーザを決定する条件を作成することもできます。この条件に変数やフィールドを使用することはできません。条件設定の詳細については、[計算式の指定] ダイアログボックスを参照してください。
ODBC データに Microsoft SQL Server からアクセスする共有データベースファイルを操作し、ODBC データソースシングルサインオンを有効にする場合は、[Windows の認証を使用 (シングルサインオン)] を選択して SPN (Service Principal Name) を入力します。ODBC データソースシングルサインオンの有効化 (Windows のみ)を参照してください。
メモ FileMaker はパスワードを暗号化します。しかし、暗号化が ODBC ドライバでサポートされているかどうかによって、データソースの暗号化は異なります。
5. パフォーマンスを向上させるため、リレーションシップグラフに追加することができる外部テーブルまたは表示の一覧をフィルタします。デフォルトでは、データソースからのすべてのテーブルを表示します。
•[カタログ名] に、名前を入力します。入力しない場合はすべてのカタログからのテーブルが表示されます。
•[スキーマ名] に、名前を入力します。入力しない場合はすべてのスキーマからのテーブルが表示されます。
•[テーブル名] に、唯一表示するテーブルの名前を入力します。
6. [テーブル]、[ビュー]、または [システムテーブル]のタイプでテーブルの一覧をフィルタすることができます。
メモ 他の種類を含める場合、[タイプによるフィルタ] オプションすべての選択を解除します。
ODBC データソースを追加した後、リレーションシップグラフの ODBC テーブルを使用して、他の FileMaker テーブルのようなレイアウトで操作することができます。ODBC テーブルでインタラクティブにリアルタイムでデータを検索、追加、更新、削除することができます。
1. [ファイル] メニュー > [管理] > [データベース...] を選択します。
2. [データベースの管理] ダイアログボックスの [リレーションシップ] タブで をクリックします。
3. [テーブルを指定] ダイアログボックスで、[データソース:] の一覧から [ODBC データソースの追加...] を選択します。
4. 入力を促すメッセージが表示された場合は、ODBC データソースのユーザ名とパスワードを入力します。
5. データソースの外部テーブルの一覧を確認します。
6. 必要なテーブルを選択し、[OK] をクリックします。
リレーションシップグラフに外部テーブルが表示されます。テーブル名は斜体で表示されます。リレーションシップグラフのテーブルへのリンクや、これを使用した操作についての情報は、リレーションシップグラフの操作を参照してください。
ヒント リレーションシップグラフのテーブルが FileMaker テーブルか ODBC データソースからかを識別するには、ポインタをテーブルのタイトルの上に合わせます。より簡単に識別するには、ODBC テーブルに色を付けるとよいでしょう。
リレーションシップグラフにテーブルを追加した後、FileMaker はレイアウトポップアップメニューにテーブル名の付いたレイアウトを追加し、テーブルは [テーブル] タブに一覧表示されます。テーブル名は斜体で表示されます。
ODBC テーブルからの列は、フィールドタブに表示されます。フィールド名は斜体で表示されます。FileMaker Pro Advanced がソリューション内に列を表示しないようにする場合、フィールドを取り除くことができます。これらの列は外部 SQL データソーステーブルスキーマからは取り除かれず、そのテーブルのスキーマの FileMaker Pro Advanced の表示からだけ削除されます。詳細については、FileMaker と ODBC データソースの間でのデータの更新を参照してください。
•リレーションシップグラフの ODBC テーブルを対話的に使用して操作するか、「静的な」ODBC インポートで操作するかを決定します。ODBC データソースを使用して作業するさまざまな方法の概要は、FileMaker Pro Advanced での ODBC と JDBC の使用を参照してください。
•どのテーブルにアクセスするか、どのデータソースに含まれるかを決めます。
•FileMaker が自動的にテーブルの主キーを判別できない場合、固有のキーを構成する列を選択するように要求されます。FileMaker では各テーブルが各行に対して固有の値を持つ 1 つまたは複数の列を持っていることが要求されます。
•ODBC データソースのスキーマを変更することはできません。しかし、ODBC テーブルからデータの計算や集計を行うために、補助フィールドを追加することができます。
•ODBC データソースからのフィールドは値一覧内で使用できますが、長いテキスト文字列などの CLOB (character large objects) はサポートされていません。
•ODBC データの含まれる値一覧では、アクセスなしアクセス権および制限付きカスタムアクセス権はサポートされていません。ユーザが値一覧内の ODBC データを表示しないようにするには、外部 SQL データベースの行レベルセキュリティを強化する必要があります。値一覧アクセス権の編集を参照してください。
•SQL Server タイムスタンプデータタイプはサポートされていません。
•イメージやサウンドなどの BLOB (binary large objects) はサポートされていません。
•[データベースの管理] ダイアログボックスの フィールドタブの外部テーブルを使用して操作している場合、次のフィールドオプションはサポートされていません。フィールドオプションの情報については、フィールドのオプションの設定を参照してください。
•[入力値の自動化] タブで、レコードを作成する時にシリアル番号を自動入力することができますが、レコードの確定後はできません。(外部データベースにより、レコードが確定される方法が制御されます。)ルックアップが ODBC データソースの関連データに対しての場合、[近似値 (小さい値) を使用] と [近似値 (大きい値) を使用] は無効になります。
•[入力値の制限] タブでは、[ユニークな値] と [既存値] が無効になります。フィールドで使用できる [最大文字数] は、外部データソースにより決定されます。
•[データの格納] タブは無効になります。
•FileMaker は、ODBC 管理者が設定する入力値の制限や他のオプションを制御することができません。フィールドオプションが同期操作でどのような影響を受けるかの情報については、FileMaker と ODBC データソースの間でのデータの更新を参照してください。
•ODBC データソースにリンクした FileMaker ファイルは、ODBC データソースで作成されるリレーションシップを引き継ぎません。
•外部フィールドからのデータに、条件付き書式を適用することができます。レイアウトオブジェクトの条件付き書式の定義を参照してください。
•FileMaker Server が ODBC データソースにリンクされたデータベースを共有する場合、外部データソースにアクセスするために、FileMaker クライアントにより DSN を設定する必要はありません。しかし、DSN は、FileMaker Server を実行しているコンピュータで設定する必要があります。
•FileMaker は、クエリーに SQL 設定セマンティックスを使用しません。FileMaker は、レイアウト上の各関連テーブルに対して 1 つのクエリーを実行することができます。特定の SQL 結合動作を保持するか、GROUP BY などの SQL 述語の結果を得る場合は、表示を作成します。その後、その表示を使用して FileMaker からのデータにアクセスします。(表示は「バーチャルテーブル」と呼ばれることもあります)
•長いクエリー、ODBC テーブル全体のスクロール試行、または大きなテーブルを開くことは、パフォーマンスの低下につながります。
•Microsoft SQL Server の場合、デフォルトでは、ODBC テーブルからの DATETIME、DATETIME2、および SMALLDATETIME データがタイムスタンプフィールドタイプとしてインポートされます。タイムスタンプシャドウフィールドのフィールドタイプを日付または時刻のいずれかに変更できますが、データは特別な方法で構造化する必要があります。インポートされた ODBC テーブルにタイムスタンプデータが含まれていて、そのタイムスタンプフィールドを日付フィールドとして扱う場合、テーブル内の全データについて、時刻部分は 12:00 AM (または真夜中) と等しくなければなりません。同様に、タイムスタンプデータを含む ODBC テーブルをインポートして、そのタイムスタンプフィールドを時刻フィールドとして扱う場合、テーブル内の全データについて、日付部分は 1900-01-01 (または January 1, 1900) と等しくなければなりません。
任意の ODBC テーブルで、フィールドが主キーで値が固有でない場合は、結果は矛盾します。