Page History
...
作成時にVisual LANSAから発行されるメッセージ
LII0898W | あいまいです。フィールド#A$は複数のファイルに存在しており、異なる命名規則を使用しています。 このメッセージは、実行時にフィールドに対して使用されるSQL名に関するものです。このメッセージには、詳細な情報を提供するメッセージがさらに2つ続きます。ジェネレータは、次の優先順位に基づいて、使用する命名アルゴリズムを決定します。(1)古いVisual LANSAファイルではLANSA短縮名(mangled name)を使用(#A$をA_にするなど)、(2) LANSA定義の名前を使用する命名レベル1のファイル(すなわち、SQL名がフィールド名と同じ)、(3) FROM_FILESパラメータで最初に指定されている、VL外部ファイルの命名またはIBM i外部ファイルの命名。 メッセージに対処するために、RDMLを変更する必要はありません。メッセージに対する対応は、アクセスする必要のあるファイルのデータによって異なります。デフォルト以外の動作が必要な場合は、必要とする実際の名前でSQLソース・パラメータを追加します。 |
|---|
実行時およびIBM iでの実行中の成功率を高めるには、以下の警告に対処してください。
PRC1064 | ** WARNING: Name is not a defined field. Correct it for portability. フィールド名としていずれかのファイルの実列を使用できるため、選択は機能しますが、LANSAでサポートされるすべてのデータベースで機能するためには、フィールド名(ハッシュ記号なし)を使用する必要があります。 |
|---|---|
PRC1065 | ** WARNING: Field <afield> is not a physical field in any of the files in the FROM_FILES parameter. LANSAは、FROM_FILESパラメータで指定されたいずれかのファイルにおいて、SQLで指定された名前がLANSAで認識されているかどうかを検査します。その名前がLANSA名であるか、変換された名前であるか、または列名の変更であるかを検査する他、予約済みのSQLキーワードであるかどうかも検査します。どれにも該当しない場合、この警告が表示されます。 この警告の原因として、フィールド名の代わりに列名が使用されていることが考えられます。この場合、SQLはVisual LANSAで動作します。または、フィールドが正しくない可能性があり、この場合は実行時に失敗します。 |
PRC1067 | ** Fields A$ and A_ both resolve to A_ so A_ in SELECT_SQL will be set with Non-IBM i text A_ 同じ名前に解決されるフィールドが複数ある場合、生成されたコードで各フィールドを識別できなくなり、コンパイル・エラーが発生します。SELECT_SQLでは、下位互換性を保つために固定リテラル値が使用されるため、コンパイルは成功します。ただし、これはIBM i で実行されない場合があります。1つのファンクション内でこのように一致するフィールドを使用しないようコードを変更してください。 例えば、列名がA_で固定されている場合、IBM iでは実行されません。代わりにA$を使用してください。 |
移植性に関する考慮事項 | 複数のプラットフォームを使用する場合、各プラットフォームで使用されるフィールド長を考慮してください。WHERE パラメータを参照してください。 Visual LANSAからIBM i 上のデータベースに接続するためにこのコマンドを使用しないでください。この目的でSELECT_SQLコマンドを使用しても、IBM i 上のデータベースではなく、PC上へのデータベースにアクセスします。このタイプの接続を行うには、リモート・プロシージャ・コール(すなわち、call_server_function)を使用する必要があります。 |
...