前のページ|次のページ

RENCODING=オプション

EBCDICANYまたはASCIIANYセッションエンコーディングを使用するSAS/SHAREサーバーセッションのデータをトランスコードする場合に使用する、ASCIIベースまたはEBCDICベースのエンコーディングを指定します。

該当要素: SAS/SHAREのLIBNAMEステートメントのみ
カテゴリ: データアクセス
注: LIBNAMEステートメントのRENCODING=オプションは、エンコーディングが混在するコンピューティング環境を維持するためにセッションエンコーディングをEBCDICANYまたはASCIIANYに設定したSAS/SHARE Serverを使用する場合にのみ関係します。
参照項目: SAS/SHARE User's GuideのLIBNAMEステートメント

構文

RENCODING=ASCII-encoding-value | EBCDIC-encoding-value

説明

ASCII-encoding-value

UNIXおよびWindowsでのASCIIエンコーディングの有効な値の一覧については、SASセッションのエンコーディング値を参照してください。

EBCDIC-encoding-value

z/OSでのEBCDICエンコーディングの有効な値の一覧については、SASセッションのエンコーディング値を参照してください。

詳細

エンコーディングが混在する環境(たとえば、Latin1やLatin2などの互換性のないエンコーディングを使用するSAS/SHAREクライアントセッション)でSAS/SHAREを使用する場合は、次のオプションを設定できます。
  • SAS/SHAREサーバーセッションでは、SASシステムオプションENCODING=EBCDICANYまたはENCODING=ASCIIANYを設定します。
  • SAS/SHAREクライアントセッションでは、次の条件において、LIBNAMEステートメントでRENCODING=オプションを設定します。
    • ASCIIベースのエンコーディングを使用するクライアントセッションがEBCDICANYサーバーにアクセスする場合
    • EBCDICベースのエンコーディングを使用するクライアントセッションがASCIIANYサーバーにアクセスする場合
    RENCODING=オプションにより、SAS/SHARE Clientは、クライアント/サーバーセッションのトランスコーディング時に想定するサーバーのデータのエンコーディングを指定できます。
SAS 9では、SAS/SHAREクライアント/サーバーセッションで複数のSBCSまたはDBCSエンコーディングのデータを処理する場合は、UTF8エンコーディングの使用をお勧めします。UTF8セッションエンコーディングを実行するUnicodeサーバーの詳細については、http://rnd.sas.com/sites/i18n/i18ndocs/i18nsupport/Pages/SAS%20Technical%20Papers.aspxにアクセスし、Processing Multilingual Data with the SAS® 9.2 Unicode ServerおよびMultilingual Computing with SAS® 9.4を検索してください。

比較

SAS 9では、UTF8エンコーディングを使用して、従来のSBCSまたはDBCSエンコーディングの文字を複数含む多言語データをSASデータセットで保持できます。SAS/SHAREを使用してそのデータへの更新アクセスを共有するには、UTF8のセッションエンコーディングを使用してSAS/SHARE Serverを実行する必要もあります。SASでは、必要に応じてデータをクライアントのエンコーディングにトランスコードします。
SAS 9以前は、SAS/SHAR ClientとSAS/SHARE Serverが共通のアーキテクチャで実行される(たとえば、クライアントとサーバーがUNIXマシン上で実行される)場合、文字データの自動トランスコーディングは実行されませんでした。1つのSAS/SHARE Server内に含まれるEBCDICまたはASCIIエンコーディングが異なるデータセットにアクセスするアプリケーションや、1つのデータセット内にさまざまなエンコーディングが混在するデータセットにアクセスするアプリケーションを作成できました。この方法はあまり一般的ではなく、異なる動作環境で実行するクライアントからトランスコーディングテーブルを慎重にプログラミングする必要がありました。
次のステップは、必要に応じてSAS 9で混在するエンコーディングを保持する方法を示しています。
  • SAS/SHARE Serverは、EBCDICエンコーディングが混在する場合はEBCDICANYのセッションエンコーディングを、ACSIIエンコーディングが混在する場合はASCIIANYのセッションエンコーディングを使用して実行する必要があります。
    これにより、バージョン8以前のリリースの動作を復元し、同じEBCDICまたはASCIIファミリでの異なるクライアントエンコーディングとサーバーエンコーディングとの間の自動的な文字トランスコーディングを回避します。つまり、次の条件下ではトランスコーディングが行われません。
    • クライアントセッションエンコーディングがEBCDICエンコーディングで、サーバーセッションエンコーディングがEBCDICANYの場合
    • クライアントセッションエンコーディングがASCIIエンコーディングで、サーバーセッションエンコーディングがASCIIANYの場合
  • ASCIIANYまたはEBCDICANYサーバーと同じエンコーディングファミリを共有しないSAS/SHARE Clientは、そのサーバーにアクセスする最初のLIBNAMEステートメントでRENCODING=オプションを使用して、必要なトランスコーディングを制御できます。
    たとえば、ポーランド語ロケールで実行されるASCIIクライアントは、z/OS EBCDICANYサーバーにアクセスし、RENCODING=EBCDIC870と指定して、ポーランド語でエンコードされたデータを含むことをクライアントが認識するデータにアクセスできます。ドイツ語ロケールで実行される別のASCIIクライアントは、同じz/OS EBCDICANYサーバーにアクセスし、RENCODING=EBCDIC1141と指定して、ドイツ語のデータを含むことをクライアントが認識しているデータにアクセスできます。同様に、ASCIIANYサーバーにアクセスするEBCDICクライアントは、LIBNAMEステートメントのRENCODING=オプションを使用して、アクセスしようとするデータの正確なASCIIエンコーディングを指定できます。

関連項目:

前のページ|次のページ|ページの先頭へ