前のページ|次のページ

FILENAMEステートメント、URLアクセス方式

URLアクセス方式を使用してリモートファイルにアクセスできます。

該当要素: 任意の場所
カテゴリ: データアクセス
制限事項: SASがロックダウン状態にある場合、FILENAMEステートメントのURLアクセス方式は使用できません。サーバー管理者は、このアクセス方式がロックダウン状態でも使用できるように、同方式を再有効化できます。FILENAMEステートメントのURLアクセス方式が再有効化されると、SOAPプロシジャは自動的に再有効化されます。詳細については、XisError: No pubcode in link data found for lrconを参照してください。

構文

引数

fileref

有効なファイル参照名を指定します。

ヒント ファイル参照名と外部ファイルの関連付けは、SASセッション終了まで維持されるか、または他のFILENAMEステートメントで関連付けの変更や関連付けの取り消しを実行するまで維持されます。ファイルに対するファイル参照名は必要に応じて何度でも変更できます。

URL

このアクセス方式を指定すると、URLサーバーが稼働しているネットワーク上のホストコンピュータとの間でファイルの読み込みや書き込みを実行できるようになります。

別名 HTTP

'external-file'

URLサーバーからの読み込みやURLサーバーへの書き込みの対象となるファイルの名前を指定します。ファイルへのアクセスには、TLS (Transport Layer Security)プロトコルhttpsも使用できます。ファイルは次のいずれかの形式で指定する必要があります。

  • http://hostname/file
  • https://hostname/file
  • http://hostname:portno/file
  • https://hostname:portno/file
動作環境 外部ファイルの物理名を指定する方法の詳細については、各動作環境向けのSASドキュメントを参照してください。

URLオプション

url-optionsには、次のいずれかの値を指定できます。

ACCEPT='header-type'

Accept:ヘッダーを指定します。Accept:ヘッダーを使用すると、レスポンスとして受け入れ可能である特定のメディアタイプを指定できます。

デフォルト */*
要件 header-typeは一重引用符または二重引用符で囲む必要があります。

AUTHDOMAIN="auth-domain"

プロキシサーバーまたはWebサーバーへの接続に使用する認証ドメインメタデータオブジェクトの名前を指定します。認証ドメインは、明示的に認証情報(ユーザーIDとパスワード)を指定する必要がない場合に、認証情報を参照します。auth-domainでは大文字と小文字が区別されます。また、二重引用符で囲んで指定する必要があります。

管理者は、SAS管理コンソールのユーザーマネージャを使用してユーザー定義を作成する間に、認証ドメインの定義を作成します。認証ドメインは、プロキシサーバーまたはWebサーバーへのアクセスを提供する1つまたは複数のログインメタデータオブジェクトに関連付けられています。また、この認証ドメインは、SAS Metadata Serverを呼び出し、認証情報を返すBASE Engineによって解決されます。
要件 認証ドメインおよび関連付けられたログイン定義はメタデータリポジトリに格納する必要があります。また、メタデータオブジェクトを解決するには、Metadata Server を稼働させる必要があります。
操作 AUTHDOMAIN=を指定する場合、USER=およびPASS=を指定する必要はありません。
参照項目 認証ドメインの作成および使用方法の詳細については、SAS Intelligence Platform:Security Administration Guideの認証情報の管理の説明を参照してください。

BLOCKSIZE=blocksize

このblocksizeには、URLデータバッファのサイズをバイト単位で指定します。

デフォルト 8,000

CONNECT

プロキシを通してURLにアクセスしている時に、クライアントとプロキシ間の接続とプロキシとサーバー間の接続を作成します。

要件 PROXY=オプションはCONNECTオプションと一緒に使用してください。PROXY=オプションなしでCONNECTオプションを使用した場合、接続されません。
操作 "http"をexternal-file引数内で使用すると、接続はされますがTLSプロトコルは使用されません。
参照項目 PROXY=url

DEBUG

デバッグ情報をSASログに書き込みます。

ヒント HELPコマンドの実行結果がレコードとして返されます。

HEADERS=fileref

URLアクセス方式を使用してファイルを開くときにヘッダー情報の書き込み先となるファイル参照名を指定します。このヘッダー情報は、SASログに書き込まれる情報と同じです。

要件 ファイル参照名は、先行するFILENAMEステートメントで定義する必要があります。
操作 DEBUGオプションを指定せずにHEADERS=オプションを指定しても、DEBUGオプションは自動的に有効になります。
デフォルトでは、ログ情報は上書きされます。ログ情報を追加するには、ファイル参照名を作成するFILENAMEステートメントにMODオプションを指定する必要があります。

LRECL=lrecl

このlreclには、データの論理レコード長を指定します。

デフォルト 256
操作 かわりに、XisError: No pubcode in link data found for lesysoptsrefを使用すると、グローバルな論理レコード長を指定できます。SAS 9.4では、グローバルLRECLシステムオプションのデフォルト値は32767です。固定長レコード(RECFM=F)を使用している場合、LRECLのデフォルト値は256になります。

PASS='password'

このpasswordには、USERオプションで指定したユーザー名とともに使用するパスワードを指定します。

ヒント PASSオプションのかわりにPROMPTオプションを指定できます。PROMPTオプションは、システムに対してパスワードの入力を求めるプロンプトを表示するように指示します。
暗号化されたパスワードを使用する場合、テキスト文字列を隠すためにPWENCODEプロシジャを使用します。次に、暗号化されたパスワードをPASS=オプションに入力します。詳細については、XisError: No pubcode in link data found for proc.

PPASS='password'

このpasswordには、PUSERオプションで指定したユーザー名とともに使用するパスワードを指定します。このPPASSオプションは、プロキシサーバーへアクセスするために使用します。

ヒント PPASSオプションのかわりにPROMPTオプションを指定できます。PROMPTオプションは、システムに対してパスワードの入力を求めるプロンプトを表示するように指示します。
暗号化されたパスワードを使用する場合、テキスト文字列を隠すためにPWENCODEプロシジャを使用します。次に、暗号化されたパスワードをPASS=オプションに入力します。詳細については、XisError: No pubcode in link data found for procを参照してください。

PROMPT

必要に応じて、ユーザーのログインパスワードの入力を求めるプロンプトを表示するように指定します。

ヒント PROMPT=を指定する場合、PASS=またはPPASS=を指定する必要はありません。

PROXY=url

プロキシサーバーのURL(Uniform Resource Locator)を次のどちらかの形式で指定します。

http://hostname/
http://hostname:portno/
参照項目 CONNECT

PUSER='username'

このusernameは、URLプロキシサーバーにログオンするために使用されます。

操作 PUSERオプションを指定すると、プロキシサーバーの設定の有無にかかわらず、USERオプションはWebサーバーに渡されます。.
PROMPTを指定してPUSERを指定しない場合、IDとパスワードの入力を求めるプロンプトがユーザーに表示されます。
ヒント PUSER='*'と指定すると、IDの入力を求めるプロンプトがユーザーに表示されます。

RECFM=recfm

このrecfmには、次の3つのレコード形式のいずれかを指定します。

F

固定長レコード形式です。そのため、LRECLサイズのすべてのレコードには区切り文字となる改行が含まれていません。データはイメージ(バイナリ)モードで転送されます。

操作 SAS 9.4では、グローバルLRECLシステムオプションのデフォルト値は32767です。固定長レコード(RECFM=F)を使用する場合、LRECLのデフォルト値は256になります。

S

ストリームレコード形式です。データはイメージ(バイナリ)モードで転送されます。

別名 N
ヒント 読み込むデータ量は、現在のLRECLの値またはINFILEステートメントに指定したNBYTE=変数の値で制御されます。NBYTE=オプションには、読み込まれるデータ量に等しくなる変数を指定します。このデータ量は、LRECLに指定した値に等しいか、それ以下の値にする必要があります。
参照項目 INFILEステートメントのNBYTE=オプション

V

可変長レコード形式(デフォルト設定)です。この形式では、レコードの長さが異なります。また、レコードはテキスト(ストリーム)モードで転送されます。

ヒント LRECLの値よりも大きいレコードは切り捨てられます。
デフォルト V

TERMSTR='eol-char'

このeol-char には、RECFM=Vを指定した場合に使用する改行文字を指定します。次の4つの値を使用できます。

CR キャリッジリターン(CR)
CRLF ラインフィード(LF)が後に続くキャリッジリターン(CR)
LF ラインフィードのみ(デフォルト設定)
NULL NULL文字(0x00)
デフォルト LF
制限事項 このオプションはRECFM=Vを指定した場合にのみ使用します。

USER='username'

このusernameはURLサーバーにログオンするために使用されます。

操作 USERオプションを指定してPUSERオプションを指定しない場合、USERオプションの処理はプロキシサーバーの指定によって異なります。プロキシサーバーを指定していない場合、USERオプションはWebサーバーに渡されます。プロキシサーバーを指定している場合、USERオプションはプロキシサーバーに渡されます。
PUSERオプションを指定すると、プロキシサーバーの設定の有無にかかわらず、USERオプションはWebサーバーに渡されます。.
PROMPTを指定してUSERまたはPUSERを指定しない場合、IDとパスワードの入力を求めるプロンプトがユーザーに表示されます。
ヒント USER='*'と指定すると、IDの入力を求めるプロンプトがユーザーに表示されます。

詳細

URLが“http”ではなく“https”で始まるときは、TLS (Transport Layer Security)プロトコルが使用されます。TLSとその先行プロトコルであるSSL (Secure Sockets Layer)は、インターネット経由で通信セキュリティを提供するために設計された暗号化プロトコルです。また、TLSおよびSSLプロトコルは、ネットワークデータのプライバシー、データ整合性、認証を提供します。さらに、TLSは、暗号化サービスを提供する以外にも、クライアントおよびサーバー認証を実行するほか、メッセージ認証コードを使用してデータ整合性を確保します。TLSプロトコルを使うと、クライアント/サーバーアプリケーションは、盗聴や改ざんを防ぐために設計された方法を通じて、ネットワーク通信が行えるようになります。TLSは、すべての主要ブラウザでサポートされています。
注: TLSに関する説明はすべて、先行プロトコルであるSSLに対しても適用されます。
動作環境の情報: FILENAMEステートメントを使用する場合は、動作環境固有の情報が必要になります。URLアクセス方式の詳細はここに記載されていますが、ファイル名の指定方法の詳細については、各動作環境向けのSASドキュメントを参照してください。

例1: Webサイトのファイルへのアクセス

この例では、サイトwww.a.comのドキュメントtest.dat にアクセスします。
filename foo url 'http://www.a.com/test.dat'
   proxy='http://www.gt.sas.com';

例2: ユーザーIDとパスワードの指定

次の例では、TLSプロトコルを使用してサイトwww.b.com上のドキュメントfile1.htmlにアクセスします。ユーザーIDとパスワードを入力する必要があります。
filename foo url 'https://www.b.com/file1.html'
    user='jones' prompt;

例3: URLファイルから先頭15レコードを読み込む

この例では、URLファイルから先頭の15レコードを読み込んだ後、そのレコードをPUTステートメントを使用してSASログに書き込みます。
filename foo url 
   'http://support.sas.com/techsup/service_intro.html';
       
data _null_;
   infile foo length=len;
   input record $varying200. len;
   put record $varying200. len;
   if _n_=15 then stop;
run;

関連項目:

XisError: No pubcode in link data found for secref
前のページ|次のページ|ページの先頭へ