ここでは、外部データベース(SQLServer、Oracle Database、MySQL、およびPostgreSQL)を利用しており、以下の機能を利用したい場合に必要な設定方法について記載します。
また、設定を行った場合に外部データベースに実行される動作についても記載します。
アクセス許可やワークフローを実現するには、これらを管理するためのForguncy専用のフィールドやテーブルがデータベース側に必要になります。内部データベースの場合、ログインしたユーザーが属するロールの権限に応じて自動的に作成しますが、SQLServer、Oracle Database、MySQL、およびPostgreSQLの場合は、次の設定を行いその作成を許可させる必要があります。
外部DBに接続したリンクテーブルを作成します。
リンクテーブルの作成 を参照して、リンクテーブルを作成します。このとき、データベースにログインするユーザーは、データベース内のオブジェクト自身の追加/変更/削除(CREATE/ALTER/DROP)とストアドプロシジャーを実行できる権限を持っている必要があります。
たとえば、SQL Serverの場合であればデータベースロールがdb_ddladmin以上かつ、EXECUTEの権限を持っている必要があります。
外部DBでログインするユーザーに権限を付与し、そのユーザーでログインするようにしてください。
「構造変更の許可」の[データベースやテーブルの構造変更をForguncyに許可する]がチェックされていないテーブルの場合、テーブル名の変更はForguncy Builder上の名前のみが変更され、外部データベース上のテーブル名が変更されることはありません。しかし、[データベースやテーブルの構造変更をForguncyに許可する]がチェックされているテーブルの場合、次のメッセージダイアログが表示され、[はい]をクリックすることで外部データベース上のテーブル名も変更されます。[いいえ]をクリックしした場合、Forguncy Builder上の名前のみが変更されます。
「データベースやテーブルの構造変更をForguncyに許可する」にチェックすると、Forguncyは接続した外部データベースに対して、以下のことを行います。
テーブル名 |
説明 |
---|---|
フォーム認証:FGC_USD_<コンピューター名> Windows認証:FGC_USD_W_<コンピューター名> 認証プロバイダー:FGC_USD_S_<コンピューター名> |
Forguncy Builderでの開発時に作成します。 |
フォーム認証: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、およびPostgreSQLでは自動で生成されません。手動にて同時実行制御のための列を作成し、[行のバージョン管理フィールド]として設定する必要があります。詳細については、外部データベースの同時実行制御を参照してください。 | |
FGC_UserName |
ユーザー名 |
FGC_UserInfoTableテーブル、あるいはFGC_DesignerUserInfoTableテーブルが生成された時に作成。 |
ワークフロー、アクセス許可 |
FGC_FullName |
氏名 | ||
FGC_Email |
メールアドレス | ||
FGC_Role |
ロール | ||
FGC_OrganizationBelongsTo |
ユーザーが属する組織や組織階層を表す番号 | ||
FGC_RootOrganizationCanAccess | |||
FGC_OrganizationQueryCache | |||
FGC_OrganizationSuperior |
上位組織メンバー |
ワークフロー機能については外部データベースとワークフロー(ODBCデータソース除く)の以下の項目をご確認ください。