Remote Oracle Database としてAzure Data Lake Storage データにアクセス

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Azure Data Lake Storage ODBC Driver

Azure Data Lake Storage ODBC Driver を使って、ODBC 接続をサポートするあらゆるアプリケーション・ツールからAzure Data Lake Storage にデータ連携。

Azure Data Lake Storage にデータベースと同感覚でアクセスして、Azure Data Lake Storage データに使い慣れたODBC インターフェースで双方向連携。



Oracle Heterogenous Services を使ってOracle system からAzure Data Lake Storage にアクセス。



CData ODBC Driver for Azure Data Lake Storage を使って、 ODBC 標準をサポートするあらゆるアプリケーションからデータに連携できます。Oracle Database Gateway for ODBC は、ODBC データソースにリモートOracle データベースとして連携接続できるようにするHeterogeneous Services agent (異種サービスエージェント)です。この記事では、CData ODBC Driver for Azure Data Lake Storage を使ってAzure Data Lake Storage からOracle にデータベースリンクを作成する方法、およびSQL*Plus ツールを介してAzure Data Lake Storage に連携してクエリする方法について説明します。SQL Developer からも、データベースリンクの作成およびクエリの実行ができます。

Oracle ODBC Gateway 互換性のための接続プロパティ

ドライバーには複数の接続プロパティがあり、Oracle データベースと同じようにAzure Data Lake Storage にアクセスできます。SQL*Plus およびSQL Developer のAzure Data Lake Storage を扱う場合は、以下のプロパティを設定します。Oracle ODBC Gateway との互換性のため、認証およびその他の必要な接続プロパティに加えて、以下の接続プロパティを設定する必要があります。

  • MapToWVarchar=False

    このプロパティをSQL_WVARCHAR の代わりにSQL_VARCHAR に設定して文字列データ型をマップします。さまざまなインターナショナルキャラクタセットに対応するため、ドライバーはデフォルトでSQL_WVARCHAR を使います。unicode タイプが返されたときに、このプロパティを使ってORA-28528 Heterogeneous Services データタイプ変換エラーを防ぐことができます。

  • MaximumColumnSize=4000

    このプロパティを設定して、カラムの最大サイズを4000文字に制限します。Oracle Database Gateway では、文字列型はカラムの最大サイズが4000である必要があります。

  • UpperCaseIdentifiers=True

    このプロパティで、識別子を引用しないようにし設定します。このプロパティを使って、大文字の識別子をOracle にレポートします。Oracle はデフォルトで識別子を大文字で格納するため、大文字の識別子を引用から避ける必要はありません。

  • IncludeDualTable=True

    このプロパティを設定して、Oracle DUAL 表をモックします。SQL Developer はこのテーブルを使って接続をテストします。

Heterogeneous Service Agent の初期化

下記の手順に従ってODBC Gateway をAzure Data Lake Storage data に作成すると、リアルタイムAzure Data Lake Storage にOracle データベースとしてクエリすることが可能になります。

  1. 接続プロパティの指定がまだの場合は、DSN (データソース名)で行います。Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。

    一般的な接続文字列は次のとおりです:

    • Schema
    • Account
    • FileSystem
    • AccessKey

    Authenticating to a Gen 1 DataLakeStore Account

    Gen 1 uses OAuth 2.0 in Azure AD for authentication.

    For this, an Active Directory web application is required. You can create one as follows:

    1. Sign in to your Azure Account through the .
    2. Select "Azure Active Directory".
    3. Select "App registrations".
    4. Select "New application registration".
    5. Provide a name and URL for the application. Select Web app for the type of application you want to create.
    6. Select "Required permissions" and change the required permissions for this app. At a minimum, "Azure Data Lake" and "Windows Azure Service Management API" are required.
    7. Select "Key" and generate a new key. Add a description, a duration, and take note of the generated key. You won't be able to see it again.

    To authenticate against a Gen 1 DataLakeStore account, the following properties are required:

    • Schema: Set this to ADLSGen1.
    • Account: Set this to the name of the account.
    • OAuthClientId: Set this to the application Id of the app you created.
    • OAuthClientSecret: Set this to the key generated for the app you created.
    • TenantId: Set this to the tenant Id. See the property for more information on how to acquire this.
    • Directory: Set this to the path which will be used to store the replicated file. If not specified, the root directory will be used.

    Authenticating to a Gen 2 DataLakeStore Account

    To authenticate against a Gen 2 DataLakeStore account, the following properties are required:

    • Schema: Set this to ADLSGen2.
    • Account: Set this to the name of the account.
    • FileSystem: Set this to the file system which will be used for this account.
    • AccessKey: Set this to the access key which will be used to authenticate the calls to the API. See the property for more information on how to acquire this.
    • Directory: Set this to the path which will be used to store the replicated file. If not specified, the root directory will be used.

    Microsoft ODBC データソースアドミニストレーターで必要なプロパティを設定する方法は、ヘルプドキュメントの「はじめに」をご参照ください。

  2. oracle-home-directory\hs\admin フォルダにinitmyazuredatalakedb.ora ファイルを作成し、以下の設定を追加します:

    HS_FDS_CONNECT_INFO = "Your-ADLS-DSN"
  3. oracle-home-directory\NETWORK\admin にあるlistener.ora ファイルに、次のアドレスを追加します:

    SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = myazuredatalakedb) (ORACLE_HOME = your-oracle-home) (PROGRAM = dg4odbc) ) )
  4. oracle-home-directory\NETWORK\admin にあるtnsnames.ora ファイルに、次の接続ディスクリプタを追加します:

    myazuredatalakedb = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)) (CONNECT_DATA=(SID=myazuredatalakedb)) (HS=OK) )
  5. 次のコマンドを使って設定をテストします:

    tnsping myazuredatalakedb
  6. SQL*Plus を起動し、次のコマンドでデータベースリンクを作成します:

    CREATE DATABASE LINK MYAZUREDATALAKEDB CONNECT TO "user" IDENTIFIED BY "password" USING 'myazuredatalakedb';

これで、SQL*Plus で次のようなクエリを実行できます:

SELECT * from Resources@myazuredatalakedb;