AWS SCT を使用したアプリケーション内の SQL コードの変換は、次の方法で行います。 - AWS Schema Conversion Tool

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS SCT を使用したアプリケーション内の SQL コードの変換は、次の方法で行います。

AWS SCT を使用して、アプリケーションに埋め込まれた SQL コードを変換できます。汎用 AWS SCT アプリケーションコンバータは、アプリケーションコードをプレーンテキストとして扱います。アプリケーションコードをスキャンし、正規表現を使用して SQL コードを抽出します。このコンバータは、さまざまなタイプのソースコードファイルをサポートし、あらゆるプログラミング言語で記述されたアプリケーションコードで動作します。

汎用アプリケーションコンバータには次の制約事項があります。アプリケーションのプログラミング言語に固有のアプリケーションロジックを深く掘り下げることはありません。また、汎用コンバータは、関数、パラメータ、ローカル変数など、さまざまなアプリケーションオブジェクトの SQL ステートメントをサポートしていません。

アプリケーションの SQL コード変換を改善するには、言語固有のアプリケーション SQL コードコンバータを使用してください。詳細については、C# アプリケーションでの SQL コードの変換Java アプリケーションの SQL コードの変換、および Pro*C アプリケーションの SQL コードの変換 を参照してください。

AWS SCT での汎用アプリケーション変換プロジェクトの作成

AWS Schema Conversion Tool では、アプリケーション変換プロジェクトはデータベーススキーマ変換プロジェクトの子になります。データベーススキーマ変換プロジェクトごとに、1 つ以上のアプリケーション変換プロジェクトをその子として作成できます。

注記

AWS SCT では、次のソースとターゲット間の変換はサポートされていません。

  • Oracle から Oracle へ

  • PostgreSQL から PostgreSQL または Aurora PostgreSQL へ

  • MySQL から MySQL へ

  • SQL サーバーから SQL サーバーへ

  • Amazon Redshift から Amazon Redshift へ

  • SQL サーバーから Babelfish へ

  • SQL Server Integration Services から AWS Glue へ

  • Apache Cassandra から Amazon DynamoDB へ

以下の手順を使用して、汎用アプリケーション変換プロジェクトを作成します。

アプリケーション変換プロジェクトを作成するには
  1. AWS Schema Conversion Tool で、[アプリケーション] メニューから [新しい汎用アプリケーション] を選択します。

    [新しいアプリケーション変換プロジェクト] ダイアログボックスが表示されます。

    [New application conversion project] (新しいアプリケーション変換プロジェクト) ダイアログボックス
  2. 以下のプロジェクト情報を追加します。

    このパラメータについて この操作を行います
    名前

    アプリケーション変換プロジェクトの名前を入力します。データベーススキーマ変換プロジェクトごとに 1 つ以上の子アプリケーション変換プロジェクトを作成できるため、後でプロジェクトを追加する場合を考慮した名前を選択します。

    場所

    アプリケーションのソースコードの場所を入力します。

    言語

    次のいずれかを選択します。

    • Java

    • C++

    • C#

    • すべて

    ターゲットパラメータスタイル

    変換されたコードのバインド変数に使用する構文を選択します。データベースプラットフォームが異なれば、バインド変数の構文も異なります。以下のオプションのいずれかを選択します。

    • Same as in source

    • Positional (?)

    • Indexed (:1)

    • Indexed ($1)

    • Named (@name)

    • Named (:name)

    • Named (&name)

    • Named ($name)

    • Named (#name)

    • Named (!name!)

    [ソースデータベーススキーマの選択]

    ソースツリーで、アプリケーションによって使用されるスキーマを選択します。このスキーマが、マッピングルールに含まれていることを確認してください。

  3. バインド変数型が SQL 型に変換されないようにするには、[バインド変数型を SQL 型にキャストしない] を選択します。このオプションは、Oracle から PostgreSQL に変換する場合にのみ使用できます。

    たとえば、ソースアプリケーションコードに次の Oracle クエリが含まれているとします。

    SELECT * FROM ACCOUNT WHERE id = ?

    [バインド変数を SQL 型にキャストしない] を選択すると、AWS SCT はこのクエリを以下のように変換します。

    SELECT * FROM account WHERE id = ?

    [バインド変数を SQL 型にキャストしない] をオフに すると、AWS SCT はバインド変数の型を NUMERIC データ型に変更します。変換結果は次のように表示されます。

    SELECT * FROM account WHERE id = (?)::NUMERIC
  4. 変換されたオブジェクトの名前にスキーマ名が追加されないようにするには、[オブジェクト名を保存] を選択します。このオプションは、Oracle から PostgreSQL に変換する場合にのみ使用できます。

    たとえば、ソースアプリケーションコードに次の Oracle クエリが含まれているとします。

    SELECT * FROM ACCOUNT

    [オブジェクト名を保存] を選択すると、AWS SCT はこのクエリを以下のように変換します。

    SELECT * FROM account

    [オブジェクト名を保存] をオフにすると、AWS SCT はテーブル名にスキーマ名を追加します。変換結果は次のように表示されます。

    SELECT * FROM schema_name.account

    ソースコードのオブジェクト名に親オブジェクトの名前が含まれている場合、AWS SCT は変換されたコードでこの形式を使用します。この場合、[オブジェクト名を保存] オプションは無視してください。AWS SCT では、変換後のコードには親オブジェクトの名前が追加されるからです。

  5. [OK] を選択して、アプリケーション変換プロジェクトを作成します。

    プロジェクトウィンドウが開きます。

    プロジェクトウィンドウ

AWS SCT でのアプリケーション変換プロジェクトの管理

既存のアプリケーション変換プロジェクトを開いて、複数のアプリケーション変換プロジェクトを追加できます。

アプリケーション変換プロジェクトを初めて作成すると、プロジェクトウィンドウが自動的に開きます。アプリケーション変換プロジェクトウィンドウを閉じて、後で戻ることができます。

既存のアプリケーション変換プロジェクトを開くには
  1. 左側のパネルでアプリケーション変換プロジェクトノードを選択し、コンテキスト (右クリック) メニューを開き、コンテキスト (右クリック) メニューを開きます。

  2. [アプリケーションの作成] を選択します。

アプリケーション変換プロジェクトを追加するには
  1. 左側のパネルでアプリケーション変換プロジェクトノードを選択し、コンテキスト (右クリック) メニューを開き、コンテキスト (右クリック) メニューを開きます。

  2. [新しいアプリケーション] を選択します。

  3. 新しいアプリケーション変換プロジェクトの作成に必要な情報を入力します。詳細については、「アプリケーション変換プロジェクトの作成」を参照してください。

AWS SCT での SQL コードの分析と変換

以下の手順で、AWS Schema Conversion Tool で SQL コードを分析して変換します。

SQL コードを変換して分析するには
  1. 既存のアプリケーション変換プロジェクトを開き、[分析] を選択します。

    AWS SCT アプリケーションコードを分析し、SQL コードを抽出します。 AWS SCT は、抽出された SQL コードを [解析済み SQL スクリプト] リストに表示します。

  2. [解析済み SQL スクリプト] の場合は、抽出された SQL コードを確認する項目を選択します。 AWS SCT は、選択した項目のコードを [抽出 SQL スクリプト] ペインに表示します。

  3. [変換] を選択して、[抽出済み SQL スクリプト] ペインの SQL コードを変換します。 AWS SCT は、コードをターゲットデータベースと互換性のある形式に変換します。

    変換された SQL コードは編集できます。詳細については、「変換された SQL コードの編集と保存」を参照してください。

    分析する SQL コード
  4. アプリケーション変換評価レポートを作成すると、AWS SCT は、抽出されたすべての SQL コード項目を変換します。詳細については、「評価レポートの作成と使用」を参照してください。

AWS SCT での AWS SCT 評価レポートの作成と使用

アプリケーション変換評価レポートには、アプリケーションの SQL コードをターゲットデータベースと互換性のある形式に変換する方法についての情報が記載されています。レポートには、抽出されたすべての SQL コード、変換されたすべての SQL コード、および AWS SCT が変換できない SQL コードのアクション アイテムの詳細が示されます。

アプリケーション変換評価レポートの作成

以下の手順を使用して、アプリケーション変換評価レポートを作成します。

アプリケーション変換評価レポートを作成するには
  1. アプリケーション変換プロジェクトウィンドウで、[アクション] メニューから [レポートを作成] を選択します。

    AWS SCT はアプリケーション変換評価レポートを作成し、アプリケーション変換プロジェクトウィンドウで開きます。

  2. [概要] タブを確認します。

    以下に示している [概要] タブには、アプリケーション評価レポートの要約が表示されます。そのタブには、自動変換されなかった SQL コード項目と自動変換された SQL コード項目が示されます。

    アプリケーション評価レポートの [概要] タブ
  3. [SQL 抽出アクション] を選択します。

    AWS SCT でソースコードから抽出できない SQL コード項目のリストを確認してください。

  4. [SQL 変換アクション] を選択します。

    AWS SCT で自動的に変換されない SQL コード項目のリストを確認してください。推奨アクションを使用して SQL コードを手動で変換します。変換された SQL コードを編集する方法については、「AWS SCT で変換された SQL コードの編集と保存」を参照してください。

  5. (オプション) レポートのローカル コピーを PDF ファイルまたはカンマ区切り値 (CSV) ファイルとして保存します。

    • 右上の [PDF に保存] を選択して、レポートを PDF ファイルとして保存します。

      PDF ファイルには、エグゼクティブサマリー、アクション項目、アプリケーション変換に関する推奨事項が含まれています。

    • 右上の [CSV に保存] を選択して、レポートを CSV ファイルとして保存します。

      CSV ファイルには、アクションアイテム、推奨アクション、および SQL コードの変換に必要な推定手作業の複雑さが含まれています。

AWS SCT で変換された SQL コードの編集と保存

評価レポートには、AWS SCT で自動変換されない SQL コード項目のリストが含まれます。各項目について、AWS SCT で[SQL 変換アクション]タブにアクション項目が作成されます。これらの項目の変換を実行するように、SQL コードを手動で編集できます。

以下の手順を使用して、変換された SQL コードを編集、変更適用、保存します。

変換された SQL コードを編集、変更適用、保存するには
  1. [Target SQL script] (ターゲット SQL スクリプト) ペインで直接、変換された SQL コードを編集します。変換されたコードが表示されていない場合は、ペイン内をクリックすると、入力を開始できます。

  2. 変換された SQL コードの編集が終了したら、[適用] を選択します。この時点で、変更はメモリに保存されますが、まだファイルには書き込まれていません。

  3. [保存] を選択すると、変更がファイルに保存されます。

    [保存] を選択すると、元のファイルが上書きされます。保存前に、元のアプリケーションコードの記録用に元のファイルのコピーを作成します。