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
詳細
エンコーディングが混在する環境(たとえば、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エンコーディングを指定できます。