ここでは、外部データベース(SQLServer、Oracle Database、およびMySQL)を利用しており、以下の機能を利用したい場合に必要な設定方法について記載します。
また、設定を行った場合に外部データベースに実行される動作についても記載します。
アクセス許可やワークフローを実現するには、これらを管理するためのForguncy専用のフィールドやテーブルがデータベース側に必要になります。内部データベースの場合、ログインしたユーザーが属するロールの権限に応じて自動的に作成しますが、SQLServer、Oracle Database、およびMySQLの場合は、次の設定を行いその作成を許可させる必要があります。
外部DBに接続したリンクテーブルを作成します。
リンクテーブルの作成 を参照して、リンクテーブルを作成します。このとき、データベースにログインするユーザーは、たとえばSQL Serverの場合であればデータベースロールがdb_ddladmin以上の権限を持っている必要があります。db_ddladminとは、データベース内のオブジェクト自身の追加/変更/削除(CREATE/ALTER/DROP)を行う権限を持つロールです。外部DB側でログインするユーザーにdb_ddladmin以上の権限を付与し、そのユーザーでログインするようにしてください。
注意:データベースに接続するユーザーは、例えばSQL Serverの場合、db_ddladmin以上のデータベース更新の権限を持っている必要があります。
「構造変更の許可」の[データーベースやテーブルの構造変更をForguncyに許可する]がチェックされていないテーブルの場合、テーブル名の変更はForguncy Builder上の名前のみが変更され、外部データベース上のテーブル名が変更されることはありません。しかし、[データーベースやテーブルの構造変更をForguncyに許可する]がチェックされているテーブルの場合、次のメッセージダイアログが表示され、[はい]をクリックすることで外部データベース上のテーブル名も変更されます。[いいえ]をクリックしした場合、Forguncy Builder上の名前のみが変更されます。
「データベースや構造変更をForguncyに許可する」にチェックすると、Forguncyは接続した外部データベースに対して、以下のことを行います。
テーブル名 |
説明 |
---|---|
フォーム認証:FGC_USD_<コンピューター名> Windows認証:FGC_USD_W_<コンピューター名> 認証プロバイダー:FGC_USD_S_<コンピューター名> |
Forguncy開発環境の時に作成します。 |
フォーム認証:FGC_US_<コンピューター名> Windows認証:FGC_US_W_<コンピューター名> 認証プロバイダー:FGC_US_S_<コンピューター名> |
Forguncy Server環境の時に作成します。ワークフローとアクセス許可を行うユーザー情報を記録します。このテーブルは削除しないでください。 Forguncyは自動的に不要なテーブルを削除し、データ更新時にこのテーブルを再作成します。そのため、このテーブルを直接参照するようなビューやストアドプロシージャ-を作成することはサポートされないことに注意してください。 |
フィールド名 |
役割 |
対象テーブルと |
Forguncyの機能 |
---|---|---|---|
FGC_Creator |
作成者 |
接続した任意のテーブルに対し、ユーザーが最初にレコードの挿入や更新を行った時に生成 |
ワークフロー、アクセス許可、データ連結 |
FGC_CreateDate |
作成日時 | ||
FGC_LastModifier |
最終更新者 | ||
FGC_LastModifyDate |
最終更新日 | ||
FGC_UpdateHelp |
Forguncy内部で同時実行の競合を検査するために使用します |
接続した任意のテーブルやForguncyで生成したテーブルに対して、最初にレコードの挿入や更新を行った時に生成 | |
FGC_Rowversion |
Forguncy内部で同時実行の競合を検査するために使用します |
SQL Server、およびMySQLの場合、接続したテーブルに対して、最初にレコードの挿入や更新を行った時に生成されます。SQL Serverではrowversion型のフィールドが、MySQLではTIMESTAMP型がすでにそのテーブルに存在する場合には、作成しません。 なお、Forguncyが自動作成するフィールドの定義は以下の通りです。 SQL Server FGC_Rowversion timestamp not null MySQL FGC_Rowversion TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6) Oracle Databaseでは自動では生成されません。手動にて同時実行制御のための列を作成し、[行のバージョン管理フィールド]として設定する必要があります。詳細については、外部データベースの同時実行制御を参照してください。 | |
FGC_UserName |
ユーザー名 |
FGC_UserInfoTableテーブル、あるいはFGC_DesignerUserInfoTableテーブルが生成された時に作成。 |
ワークフロー、アクセス許可 |
FGC_FullName |
氏名 | ||
FGC_Email |
メールアドレス | ||
FGC_Role |
ロール | ||
FGC_OrganizationBelongsTo |
|||
FGC_RootOrganizationCanAccess |
|||
FGC_OrganizationQueryCache |
|||
FGC_OrganizationSuperior |
上位組織メンバー |
ワークフロー機能については関連トピックをご確認ください。