外部データベースと連携する
OutSystemsは既存のデータベースと連携できます。これにより、データ移行の心配をすることなく、Service StudioのOutSystemsエンティティを使用して、外部データベースのデータにアクセスするアプリケーションを開発できます。サポートされている外部データベースエンジンのリストについては、「システム要件」をご覧ください。
外部データベースとの連携の開発が終了し、アプリケーションを別の環境(QA環境など)にデプロイする場合は、こちらの手順をご覧ください。
外部データベースとの連携を作成するには、以下の一般的な手順を実行します。
- Service Centerで、外部データベースへの接続を定義します。
- Integration Studioで、外部データベースのテーブルまたはビューをOutSystemsエンティティにマッピングするエクステンションモジュールを作成します。
- Service Centerで、データベース接続を使用するためのエクステンションを構成します。
- Service Studioで、アプリケーションのエクステンションを参照して使用します。
以下のセクションでは、これらの一般的な手順を1つずつ詳しく説明しています。
外部データベースへの接続を定義する
外部データベースのテーブルとビューを使用するには、データベース接続を作成します。
-
OutSystems環境のService Center管理コンソールを開きます。
ヒント: Service Studioで[Environment Management...]をクリックして、直接Service Centerを開きます。
-
[Administration]タブで、[Database Connections]を選択します。
-
[New Database Connection]をクリックし、フィールドに入力して外部データベースへの接続を設定します。
データベース接続を微調整する必要がある場合は、[Advanced configuration]オプションを選択します。これで独自の接続文字列を定義できます。
-
[Test Connection]をクリックし、接続が正常に機能しているかを確認します。
データベースユーザーには以下の権限が必要です。
- 必要な外部データベース上のテーブルとビューを表示する権限
- それらのテーブルとビューに対して、Create、Read、Update、Delete操作の実行する権限
-
[Create]をクリックして、データベース接続を作成します。
テーブルまたはビューをエクステンションモジュールのエンティティにマッピングする
Service Centerでデータベース接続を構成した後、Integration Studioを使用して外部データベースのテーブルまたはビューをOutSystemsエンティティにマッピングするエクステンションを作成します。
-
Service Studioに戻ってアプリケーションを開き、[New Module]を選択して新しいエクステンションモジュールを作成します。
-
Integration Studioで、環境に接続します。
-
拡張ツリー内のEntitiesフォルダを右クリックして、[Connect to External Table or View...]を選択します。
-
ウィザードの手順に従います。
以下の点に注意します。
- あらかじめ構成されたデータベース接続を選択する。
- 必要なテーブルとビューを選択する。
- 次のセクションでエクステンションを物理データベース接続に連結するために使用する、論理データベース名を定義する。
-
ウィザードを閉じた後に、インポートした各アトリビュートのエンティティ名、説明とデータ型を再確認します。
-
[1-Click Publish]を選択し、エクステンションモジュールをパブリッシュします。
エクステンションを公開すると、エクステンションで使用するデータベース接続を構成する必要があることをOutSystemが警告します。
-
[1-Click Publish]概要ウィンドウで、[Missing Configuration]警告を選択して[Configure]を選択します。
エクステンションを構成してデータベース接続を使用する
テーブルやビューをマッピングした後、Service Centerを使用してこのエクステンションで使用するデータベース接続を構成します。
-
Service Centerで、[Factory > Extensions > <エクステンション名>]の[Operation]タブを開いていることを確認します。
-
エクステンションの論理データベース名を、エクステンションが実行時に使用するデータベース接続に関連付けます。
ランタイムデータに基づきデータベースを選択する必要がある場合もあります。通常は、適用可能なデータベースのスキーマは同一ですが、含まれるデータは異なります。
こうした場合、PlatformRuntime APIの(<../ref/apis/auto/platformruntime-api.final.md#DatabaseConnection_SetConnectionStringForSession>)アクションを使用できます。
アプリケーションでエクステンションを使用する
これでエクステンションをOutSystemsアプリケーションで使用する準備ができました。
-
アプリケーションで、[Manage Dependencies...]をクリックします。
-
エクステンションに依存関係を追加し、アプリケーションで使用するエンティティを選択します。
これで、標準的なOutSystemsエンティティと同様に、エクステンションのエンティティを使用して外部データベースのデータを操作できます。