WebDAVプロトコルを使用してリモートファイルにアクセスできます。
該当要素: | 任意の場所 |
カテゴリ: | データアクセス |
制限事項: | Open VMSでは、WebDAVサーバーへのアクセスはサポートされません。 |
有効なファイル参照名を指定します。
ヒント | ファイル参照名と外部ファイルの関連付けは、SASセッション終了まで維持されるか、または他のFILENAMEステートメントで関連付けの変更や関連付けの取り消しを実行するまで維持されます。ファイルに対するファイル参照名は必要に応じて何度でも変更できます。 |
このアクセス方式を指定すると、WebDAV(Web Distributed Authoring and Versioning)を使用したファイルの読み込みや書き込みを、WebDAVサーバーが稼働しているネットワーク上のホストコンピュータとの間で実行できるようになります。
WebDAVサーバーからの読み込みや書き込みの対象となるファイルの名前を指定します。外部ファイルは次のいずれかの形式で指定する必要があります。
http://hostname/path-to-the-file |
https://hostname/path-to-the-file |
http://hostname:port/path-to-the-file |
https://hostname:port/path-to-the-file |
要件 | HTTPS通信プロトコルを使用する場合、保護されたネットワーク通信を可能にするTLSまたはSSLプロトコルを使用する必要があります。詳細については、Encryption in SASを参照してください。 |
動作環境 | 外部ファイルの物理名を指定する方法の詳細については、各動作環境向けのSASドキュメントを参照してください。 |
webdav-optionsには、次のいずれかを指定できます。
WebDAVサーバーへの接続に使用する認証ドメインメタデータオブジェクトの名前を指定します。認証ドメインは、明示的に認証情報(ユーザーIDとパスワード)を指定する必要がない場合に、認証情報を参照します。
要件 | 認証ドメインおよび関連付けられたログイン定義はメタデータリポジトリに格納する必要があります。また、メタデータオブジェクトを解決するには、Metadata Server を稼働させる必要があります。 |
auth-domainでは大文字と小文字が区別されます。また、二重引用符で囲んで指定する必要があります。 | |
操作 | AUTHDOMAIN=を指定する場合、USER=およびPASS=を指定する必要はありません。 |
参照項目 | 認証ドメインの作成および使用方法の詳細については、SAS Intelligence Platform:Security Administration Guideの認証情報の管理のセクションを参照してください。 |
デバッグ情報をSASログに書き込みます。
ディレクトリとそのすべてのメンバを削除します。
要件 | DEL_ALLオプションを使用する際は、DIRオプションが必要です。 |
注 | WebDAVアクセス方式のデフォルト動作は削除できるディレクトリのみを空にすることです。DEL_ALLオプションを使用して、空でないディレクトリを削除してください。 |
参照項目 | DIR |
ディレクトリファイルにアクセスできるようにします。external-file引数にディレクトリ名を指定してください。指定したホストに対して有効なディレクトリ構文を使用する必要があります。
ヒント | ファイル名に拡張子を追加する方法については、FILEEXTオプションを参照してください。 |
外部ファイルからの読み込みや外部ファイルへの書き込みに使用するエンコーディングを指定します。ENCODING=の値は、外部ファイルのエンコーディングが現在のセッションエンコーディングとは異なることを示しています。
デフォルト | SASでは、外部ファイルのエンコーディングがセッションエンコーディングと同じであるとみなします。 |
参照項目 | XisError: No pubcode in link data found for nlsref |
DIRオプションを使用するときは、ファイル拡張子をファイル名に自動的に追加するように指定します。
操作 | 自動呼び出しマクロ機能では、拡張子.SASが常にファイルアクセス方式に渡されます。この拡張子は自動呼び出しマクロライブラリ内のファイルを開くときに使用されます。DATAステップでは、拡張子.DATAが常に渡されます。自動呼び出しマクロライブラリに対してファイル参照名を定義し、そのライブラリにあるファイルの拡張子が.SASの場合、FILEEXTオプションを使用します。ライブラリに拡張子を持つファイルが存在しない場合は、FILEEXTオプションを使用しないでください。たとえば、DATAステップで入力ファイルにファイル参照名を定義し、そのファイルXの拡張子が.DATAの場合、ファイルX.DATAを読み込むためにFILEEXTオプションを使用します。INFILEまたはFILEステートメントを使用する場合は、大文字と小文字を維持するためにメンバ名と拡張子を引用符で囲みます。 |
ヒント | INFILEまたはFILEステートメントでファイルの拡張子を指定すると、FILEEXTオプションは無視されます。 |
参照項目 | LOWCASE_MEMNAMEオプション |
サーバーファイルのローカルコピーを格納するための一時ディレクトリを作成するディレクトリを指定します。各ファイル参照名には固有のサブディレクトリがあります。ディレクトリを指定しない場合、SAS WORKディレクトリにサブディレクトリが作成されます。一時ファイルはSASプログラムが終了するときに削除されます。
デフォルト | SAS WORKディレクトリ |
WebDAVファイル参照名を使用して書き込むファイルをロックする時間(分)を指定します。SASプログラムが正常に終了すると、ファイルのロックは解除されます。SASプログラムに問題が発生すると、指定した時間が経過した後にロックが解除されます。
デフォルト | 30分 |
自動呼び出しマクロを使用して、WebDAVサーバーから小文字のディレクトリ名やメンバ名を取得できるようにします。
制限事項 | SAS自動呼び出しマクロを使用して名前を取得するときは、常に大文字のディレクトリメンバ名を探します。大文字と小文字が混在するディレクトリ名やメンバ名はサポートされていません。 |
参照項目 | FILEEXTオプション |
このlreclには、データの論理レコード長を指定します。
デフォルト | 256 |
操作 | かわりに、XisError: No pubcode in link data found for lesysoptsrefを使用すると、グローバルな論理レコード長を指定できます。SAS 9.4では、グローバルLRECLシステムオプションのデフォルト値は32767です。固定長レコード(RECFM=F)を使用する場合、LRECLのデフォルト値は256になります。 |
external-fileオプションに指定された親ディレクトリから作成される新規ディレクトリを指定します。
要件 | 指定したホストに対して有効なディレクトリ構文を使用する必要があります。 |
DIRオプションはMKDIRオプションと一緒に使用してください。 | |
例 | filename bankname webdav "http://webserver.com/parentdir/" dir mkdir="testdir1" user="myid" pass="xxxx"; |
ファイルを更新モードに設定し、ファイルの最後に更新内容を追加します。
このpasswordには、USERオプションで指定したユーザー名とともに使用するパスワードを指定します。パスワードでは大文字と小文字が区別されます。また、一重引用符か二重引用符で囲んで指定する必要があります。
別名 | PASSWORD=, PW=, PWD= |
ヒント | 暗号化されたパスワードを使用する場合、テキスト文字列を隠すためにPWENCODEプロシジャを使用します。次に、暗号化されたパスワードをPASS=オプションに入力します。詳細についてはXisError: No pubcode in link data found for procを参照してください。 |
必要に応じて、ユーザーのログオンパスワードの入力を求めるプロンプトを表示するように指定します。
操作 | USER=、PASS=、PROMPTの3つのオプションをすべて指定すると、USER=オプションとPASS=オプションはPROMPTオプションより優先されます。PROMPTオプションを指定してUSER=またはPASS=オプションを指定しない場合、ユーザーIDとパスワードの入力を求めるプロンプトが表示されます。 |
プロキシサーバーのURL(Uniform Resource Locator)を次のどちらかの形式で指定します。
http://hostname/ |
http://hostname:port/ |
このrecfmには、次の2つのレコード形式のどちらかを指定します。
ストリームレコード形式です。データはイメージ(バイナリ)モードで転送されます。
注 | ENCODING=UTF8またはその他のUnicodeエンコーディングの場合は特に、PDFまたはその他のバイナリファイルに対してRECFM=Sを指定することをお勧めします。指定しなかった場合、ファイルの先頭にバイトオーダーマーク(BOM)が書き込まれ、正しくないコンテンツの種類が生成されます。 |
ヒント | 読み込むデータ量は、現在のLRECLの値またはINFILEステートメントに指定したNBYTE=変数の値で制御されます。NBYTE=オプションには、読み込まれるデータ量に等しくなる変数を指定します。このデータ量は、LRECLに指定した値に等しいか、それ以下の値にする必要があります。PDFやGIFなどのサイズの大きいバイナリファイルの転送時に問題が発生しないようにするには、NBYTE=1に設定して1度に1バイトずつ転送するようにします。 |
参照項目 | INFILEステートメントのNBYTE=オプション。 |
可変長レコード形式(デフォルト設定)です。この形式では、レコードの長さが異なります。また、レコードはテキスト(ストリーム)モードで転送されます。
ヒント | LRECLの値よりも大きいレコードは切り捨てられます。 |
デフォルト | V |
このusernameはURLサーバーにログオンするために使用されます。ユーザーIDでは大文字と小文字が区別されます。また、一重引用符か二重引用符で囲んで指定する必要があります。
別名 | UID= |
は次の値のどれかになります。
SharePointドキュメントライブラリにファイルが書き込めると指定します。
SharePointドキュメントライブラリにファイルが書き込めないと指定します。
デフォルト | 0 |
options set=sharepoint_comp_mode 1;
www.mycompany.com
にあるファイルrawFile.txt
にアクセスします。filename foo webdav 'https://www.mycompany.com/production/files/rawFile.txt' user='wong' pass='jd75ld'; data _null_; infile foo; input a $80.; run;
otherwebsvr:80
を使用してファイルacctgfile.dat
にアクセスします。filename foo webdav 'https://webserver.com/webdav/acctgfile.dat' user='sanchez' pass='239sk349exz' proxy='http://otherwebsvr.com:80'; data _null_; infile foo; input a $80.; run;
SHOES
をディレクトリTESTING
に書き込みます。filename writeit webdav "https://webserver.com:8443/webdav/testing/" dir user="webuser" pass=XXXXXXXXX; data _null_; file writeit(shoes); set sashelp.shoes; put region $25. product $14.; run;
SHOES
をディレクトリTESTING1
から読み込みます。 filename readit webdav "https://webserver.com:8443/webdav/testing1/" dir user="webuser" pass=XXXXXXXXX; data shoes; length region $25 product $14; infile readit(shoes); input region $25. product $14.; run;
WRITEIT
にあるファイルMYTEST
にアクセスします。filename writeit webdav "https://webserver.com/webdav/macrolib" dir fileext user="webuser" pass=XXXXXXXXX; options SASAUTOS=(writeit); /* expects a file called MYTEST.SAS */ %MYTEST;
LIST
にあるファイルtestmem.sas
にアクセスします。名前に小文字を使用したファイルにアクセスするため、LOWCASE_MEMNAMEオプションが使用されています。 filename list webdav "https://t1234.na.fyi.com:8443/accounting/" dir fileext user="xxxxx" pass="xxxxx" LOWCASE_MEMNAME; options sasautos=(list); %testmem;
MYTEST
にあるファイルtestmem.sas
にアクセスします。%%INCLUDEステートメントを使用してこのファイルにアクセスしているため、大文字小文字の区別は保持されます。filename mytest webdav "https://t1234.na.fyi.com:8443/payroll/" dir user="xxxxxx" pass="xxxxx"; %include mytest(testmem.sas) /source2; %testmem;
%include mytest(TESTMEM.SAS) /source2; %TESTMEM;
production
ディレクトリからファイルfileNOext
にアクセスします。このファイルはINFILEステートメントで使用されているので、大文字小文字の区別は保持され、ファイルの拡張子は無視されます。filename test webdav "https://t1234.na.fyi.com:8443/production" dir user="xxxxxx" pass="xxxxx"; data _null_; infile test('fileNOext'); input; list; run;
sales
ディレクトリからファイルtestmem.sas
にアクセスします。FILEEXTオプションによって、.DATA
がファイル拡張子として自動的に追加されます。読み込まれるメンバ名はtestmem.DATA
になります。filename listing webdav "https://t1234.na.fyi.com:8443/sales" dir fileext user="xxxxxx" pass="xxxxx"; data _null_; infile listing(testmem); input; list; run;
newusers
ディレクトリは数字を含んでおり、ディレクトリの削除は失敗します。filename newusers webdav "https://t1234.na.fyi.com:8443/production" dir user="xxxxxx" pass="xxxxx"; /**** cannot delete newusers because it has members ****/ data _null_; rc=fdelete("newusers"); put rc=; run; / **** can delete newusers because del_all in filename statement ****/
newusers
ディレクトリを削除することができます。filename newusers webdav "https://t1234.na.fyi.com:8443/production" dir user="xxxxxx" pass="xxxxx" del_all; / **** can delete newusers because del_all option ****/ data _null_; rc=fdelete("newusers"); put rc=; run;