機械翻訳について

「資格証明の作成および」既存の表へのJSONデータのコピー

DBMS_CLOUD.COPY_DATAを使用して、クラウド内のJSONデータを表にロードします。

この例のソース・ファイルはJSONデータ・ファイルです。

  1. プロシージャDBMS_CLOUD.CREATE_CREDENTIALを使用してオブジェクト・ストアの資格証明を保存します。 たとえば:
    SET DEFINE OFF
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password'
      );
    END;
    /

    この操作では、資格証明がデータベースに暗号化された形式で保存されます。 資格証明名には任意の名前を使用できます。 このステップは、オブジェクト・ストア資格証明が変更されないかぎり、1回のみ実行すれば済みます。 資格証明を保存したら、すべてのデータ・ロードで同じ資格証明名を使用できます。

    パラメータの詳細は、「CREATE_CREDENTIALプロシージャ」を参照してください。

    リソース・プリンシパル資格証明を有効にした場合、Oracle Cloud Infrastructureオブジェクト・ストアにアクセスするための資格証明の作成は必要ありません。 詳細については、「リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセス」を参照してください。

  2. プロシージャDBMS_CLOUD.COPY_DATAを使用して、既存の表にJSONデータをロードします。

    たとえば:

    CREATE TABLE WEATHER2
        (WEATHER_STATION_ID VARCHAR2(20),
         WEATHER_STATION_NAME VARCHAR2(50));
    / 
    
    BEGIN 
      DBMS_CLOUD.COPY_DATA(
          table_name      => 'WEATHER2',
          credential_name => 'DEF_CRED_NAME',
          file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/jsonfiles*',
          format          =>  JSON_OBJECT('type' value 'json', 'columnpath' value '["$.WEATHER_STATION_ID",
              "$.WEATHER_STATION_NAME"]')
        );
    END;
    / 
    

    パラメータは次のとおりです:

    • table_name: ターゲット表名です。

    • credential_name: 前のステップで作成した資格証明の名前です。

    • file_uri_list: ロードするソース・ファイルのカンマ区切りリストです。 URIのファイル名にワイルドカードを使用できます。 文字「*」は複数の文字のワイルドカードとして使用でき、文字「?」は1文字のワイルドカードとして使用できます。

    • format: JSONデータを使用したDBMS_CLOUD.COPY_DATAの場合、typejsonです。 他のフォーマット値を指定して、JSONソース・ファイルのフォーマットを説明するオプションを定義します。 詳細については、「DBMS_CLOUDパッケージ・フォーマット・オプション」を参照してください。

    この例では、namespace-stringがOracle Cloud Infrastructureオブジェクト・ストレージのネームスペースで、bucketnameがバケット名です。 詳細については、「オブジェクト・ストレージのネームスペースについて」を参照してください。

    パラメータの詳細は、「COPY_DATAプロシージャ」を参照してください。