Oracle Autonomous DatabaseでのAzure Web Appsの使用 (2021/07/09)

Oracle Autonomous DatabaseでのAzure Web Appsの使用 (2021/07/09)

https://medium.com/oracledevs/using-azure-web-apps-with-oracle-autonomous-database-1d7002bdd20e

投稿者:Alex Keh



数年前に、.NET FrameworkとマネージドODP.NETを使って、Azure Web AppsをOracle Autonomous Database(ADB)に接続する方法を紹介しました。その時以来、.NET(Core)とODP.NET Coreは、.NET FrameworkとマネージドODP.NETを凌駕して、ますます人気の高い開発ツールとなりました。実際、NuGet Gallery ODP.NET Core全体のダウンロード数は、マネージドODP.NETが数年先行しているにもかかわらず、最近ではマネージドODP.NETのダウンロード数を上回っている。この結果は、.NET Frameworkがメンテナンスモードに入っており、すべての新しい技術革新が.NET(Core)で行われているため、必然的に生じたものだと思います。


開発者が.NET (Core)に移行していることを受けて、私は、Oracle Autonomous Databaseに接続する.NET 5およびODP.NET CoreアプリをAzureに展開する方法を示す新しいビデオチュートリアルを作成しました。

Azure ASP.NET Core 5 and ODP.NET Core 21c and Oracle Autonomous Database チュートリアル


基本的な設定手順は、2年前に書かれた古いチュートリアルとよく似ています。最も大きな違いであり、特に簡単になったのは、Oracle Developer Tools for Visual Studioを使ったOracle ADBの管理です。これらのツールには、Autonomous Database管理タスクを実行するためのOracle Cloud Infrastructureノードがあります。

Visual StudioでADBインスタンスを表示するOracle Cloud Infrastructureノード


「Data Connections」ノードでは、オンプレミスのデータベース管理と同様に、すべてのADBスキーマ・オブジェクトをVisual Studioで管理できます。

Visual StudioでのADBデータ接続


もっと詳しく知りたい方は、オラクルの同僚であるChristian Shay氏が、Oracle Autonomous DatabaseとVisual Studioの統合についてブログで紹介していますので、そちらをご覧ください。


では、本題に戻りましょう。


いくつかの簡単な手順で、ADBに接続する独自のAzure Webアプリを作成することができます。ODP.NET CoreOracle ADBはどちらも無料で利用できます。ADBインスタンスを作成したら、Visual Studioを使用して、以下の手順でASP.NET Coreアプリを展開します。


  1.     新しい空のASP.NET Coreアプリプロジェクトを作成
  2.     ODP.NET CoreをNuGet Galleryから追加
  3.     Startup.csの内容を、Oracle .NET GitHubサイトのサンプルコードで置き換え
  4.     アプリの名前空間、ユーザーパスワード、ネットサービス名、TNS管理ディレクトリ、ウォレットディレクトリに値を入力します。これらのディレクトリは、ウェブアプリのADBへの接続性を最初にテストするために、ローカルマシン上にある必要があります。ADBインスタンスの標準ADMINアカウントを使用していない場合は、ユーザーIDを変更します。
  5.     Visual Studio内でWebアプリを実行。このステップでは、アプリとADBが正しく設定されているかどうかを確認します。
  6.     TnsAdmin(tnsnames.oraおよびsqlnet.ora用)およびWalletLocation(cwallet.sso用)ディレクトリの値を、これらのファイルがアップロードされるAzure Webアプリのディレクトリ(例:D:homesite\wwwroot\<TNS admin and wallet subdirectories>)に変更
  7.     アプリをAzure Webアプリサービスにデプロイします。Azure Basic以上の価格帯を選択してください。SharedレベルとFreeレベルでは、このチュートリアルで使用しているファイルベースのウォレットは使用できません。
  8.     tnsnames.ora、sqlnet.ora、およびウォレットファイルは、デフォルトではプロジェクト全体の一部としてAzureにデプロイされません。これらのファイルを手動でデプロイするか、.NETプロジェクトファイル(.csprojファイルなど)を変更して、他のプロジェクトファイルと一緒にデプロイすることができます。例えば、プロジェクトがローカルにこれらのOracleファイルを保存する場所として「DB」というディレクトリがある場合、以下のように.NETプロジェクトファイルを追加します。
    <ItemGroup>
        <None Include="DB\**" CopyToPublishDirectory="Always">
    </ItemGroup>
  9.     デプロイ後、Azureポータルにアクセスし、作成したばかりのWebアプリを管理します。Configuration」をクリックします。次に、「新しいアプリケーション設定」をクリックします。WEBSITE_LOAD_USER_PROFILE」設定の値を「1」にして追加します。OK」をクリックし、「保存」をクリックすると、新しい設定が適用されます。この手順により、Webサーバーがファイルベースのウォレットを使用できるようになります。
  10.      Azure が Web サーバーを再起動したら、「参照」リンクをクリックします。


これで、Azure WebアプリがADBに接続し、販売履歴(SH)スキーマデータを取得します。SHスキーマは、すべての共有ADBインスタンスが、接続しているユーザーから読み取り専用で利用できます。専用ADBを使用している場合は、そのインスタンス上のテーブルに対する独自のクエリを供給する必要があります。このアプリはODP.NET Core 21cとASP.NET Core 5を使用してテストされましたが、古いバージョンと新しいバージョンのODP.NETおよび.NET(Core)の両方で動作することが期待されます。


コメント

このブログの人気の投稿

Oracle RACによるメンテナンスのためのドレインとアプリケーション・コンティニュイティの仕組み (2023/11/01)

Oracle APEXのInteractive Gridで、Oracle Formsと比較して、重複行の検証を制御/通過させる方法 (2022/07/21)

Oracle APEX 24.1の一般提供の発表 (2024/06/17)