포스팅 목차
o FILENAME 구문, URL 접근 방법
1. 목 적
FILENAME 구문, URL 접근 방법은 URL 접근 방법을 사용하여 원격(remote) 파일에 접근하여 작업을 수행할 수 있다.
2. 문 법
FILENAME fileref URL 'external-file' <url-options>; |
1) Fileref
유효한 파일참조자(fileref)의 이름을 지정한다.
Tip : | 파일참조자와 외부파일 사이의 관계는 SAS 세션이 연결되고 있는 동안이나 또는 다른 FILENAME 구문을 사용하여 관계를 변경하거나 해제 할 때까지 유지된다. 원하는 경우에 수시로 파일에 대한 파일참조자를 변경 할 수 있다. |
2) URL (별칭 : HTTP)
URL 접근 방법을 지정하면 URL 서버가 현재 실행 중인 네트워크상의 host 시스템 사이에서 파일 읽기와 쓰기 작업을 수행할 수 있다.
별칭 : | HTTP |
3) ‘external-file’
URL 서버에서 읽기/쓰기 작업을 수행하기 원하는 파일의 물리적 이름을 지정하라. 파일에 접근하기 위하여 SSL(Secure Socket Layer) 프로토콜이나 https 를 사용할 수 있다.
운영환경정보 : | 외부파일의 물리적 이름 지정에 대한 상세한 사항은 해당 운영환경에 대한 SAS 도움말 참조. |
4) url-options
다음 중 하나의 옵션을 지정할 수 있다.
(1) AUTHDOMAIN=”auth-domain”
Proxy 서버 또는 WEB 서버에 연결하기 위한 인증 도메인 메타데이터 객체의 이름을 지정한다. 인증 도메인은 인증정보 (사용자 ID와 비밀번호)를 참조한다. AUTHDOMAIN=을 지정하면, USER= 와 PASS=를 지정할 필요가 없다.
필요사항 : | 인증 도메인과 연관된 로그인 정의는 메타데이터 레파지토리에 저장되어 있어야 하고, 메타데이터 서버는 메타데이터 객체 지정자를 처리하기 위하여 실행 중이어야 한다. |
영향 : | AUTHDOMAIN=을 지정하면, USER= 와 PASS=를 지정할 필요가 없다. |
관련사항 : | 인증 도메인의 생성과 사용에 관한 상세한 정보는 SAS Intelligence Platform: Security Administration Guide 에서 discussion on credential management 를 참조 |
(2) BLOCKSIZE = blocksize
Blocksize는 URL 데이터 버퍼의 크기를 byte 단위로 지정한다. 기본값은 8K 이다.
기본값 : | 8K |
(3) DEBUG
SAS 로그에 디버깅 정보를 작성한다.
Tip : | HELP 명령의 결과는 레코드로 반환된다. |
(4) HEADERS=fileref
URL 접근 방법을 사용하여 파일을 열 때에 header 정보를 작성하기 위한 파일참조자(fileref)를 지정한다. Header 정보는 SAS 로그에 작성되는 정보와 동일하다.
필요사항 : | 파일참조자는 사전에 FINLENAME 구문에서 정의되어야 한다. |
영향 : | DEBUG 옵션을 지정하지 않고 HEADERS=옵션을 지정하여도, DEBUG 옵션은 자동적으로 설정된다. |
영향 : | 기본적으로 로그 정보를 덮어쓴다. 로그 정보를 추가하기 위하여, 파일참조자(fileref)를 생성하는 FILENAME 구문에 MOD 옵션을 지정해야 한다. |
(5) LRECL=lrecl
Lrecl은 데이터의 논리 레코드 길이를 지정한다. 기본값은 256 이다.
기본값 : | 256 |
영향 : | 대안으로, LRECL=시스템 옵션을 사용하기 위하여 전역 논리 레코드 길이를 지정 할 수 있다. |
(6) PASS=’password’
Password는 USER= 옵션에서 지정된 사용자 이름과 함께 사용되는 비밀번호를 지정한다. 비밀번호를 입력하는 메시지 창을 표시하도록 하기 위하여 PROMPT 옵션을 지정할 수 있다.
Tip : | 비밀번호를 입력하는 메시지 창을 표시하도록 하기 위하여 PASS옵션 대신에 PROMPT옵션을 지정 할 수 있다. |
Tip : | 암호화된 비밀번호를 사용하기 위하여, PWENCODE 프로시져를 통하여 텍스트 문자열을 암호화하고, 암호화된 password를 PASS= 옵션에 입력하라. 상세한 정보는 PWENCODE 프로시져 참조 |
(7) PPASS='password'
Password는 PUSER= 옵션에서 지정된 사용자 이름과 함께 사용되는 비밀번호를 지정한다. PPASS 옵션은 Proxy 서버에 접근하기 위하여 사용된다.
Tip : | 비밀번호를 입력하는 메시지 창을 표시하도록 하기 위하여 PPASS옵션 대신에 PROMPT옵션을 지정 할 수 있다. |
Tip : | 암호화된 비밀번호를 사용하기 위하여, PWENCODE 프로시져를 통하여 텍스트 문자열을 암호화하고, 암호화된 password를 PPASS= 옵션에 입력하라. |
(8) PROMPT
필요시에 사용자 로그인 비밀번호를 입력하는 메시지 창을 표시하도록 지정한다. PROMPT를 지정하면, PASS= 또는 PPASS=지정할 필요가 없다.
Tip : | PROMPT를 지정하면, PASS= 또는 PPASS=지정할 필요가 없다. |
(9) PROXY=url
proxy 서버에 대한 URL(Uniform Resource Locator)을 지정하라.
(10) PUSER=’username’
Username은 URL proxy 서버에서 로그인을 위하여 사용되는 사용자 계정을 지정한다.
Tip : | puser=’*’를 지정하면, 사용자 ID 입력을 위한 메시지 창이 표시된다. |
영향 : | PUSER옵션을 지정하면, proxy 서버 지정 여부에 관계없이 USER옵션은 WEB 서버로 전달된다. |
영향 : | PROMPT가 지정되고 PUSER를 지정하지 않으면, 사용자에게 비밀번호뿐만 아니라 ID에 대해서도 입력을 위한 메시지 창을 표시한다. |
(11) RECFM=recfm
Recfm은 다음 3가지 레코드 형식 중의 하나를 지정할 수 있다. 기본값은 V이다.
기본값 : | V |
- F : 고정 레코드 형식(Fixed-record format)을 지정한다. 모든 레코드의 크기는 라인 구분자를 포함하지 않은 LRECL 크기이다.
- S : S는 스트림 레코드 형식(stream-record format)을 지정한다.
별칭 : | N |
Tip : | 읽을 데이터의 양은 현재 LRECL 값과 INFILE 구문에서 지정된 NBYTE=variable의 값에 의해 제어된다. NBYTE=variable은 읽을 데이터의 양과 동일한 변수를 지정한다. 지정된 데이터의 양은LRECL보다 같거나 작아야 한다. |
관련사항 : | INFILE 구문의 NBYTE= 옵션 |
- V : V는 기본적으로 가변 레코드 형식(variable-record format)을 지정한다. 이 형식에서 레코드는 다양한 길이를 가지며, 줄 바꿈(newlines) 표시에 의해 분리된다.
Tip : | LRECL보다 더 긴 레코드는 잘린다. |
(12) TERMSTR=’eol-char’
Eol-char은 RECFM=V이 지정된 경우에 사용되는 라인 구분자를 지정한다. 다음은 사용 가능한 유효한 값이다. 기본값은 LF 이다.
- CR : 인쇄 복귀(carriage return) 문자
- CRLF : 줄 바꿈 문자(LF-LINE feed)가 인쇄 복귀 문자(CR-carriage return) 의 뒤에 존재한다.
- LF : 줄 바꿈(line feed) 문자
- NULL : NULL 문자(0x00)
기본값 : | LF |
제한사항 : | RECFM=V인 경우에만 이 옵션을 사용하라. |
(13) USER=’username’
Username은 URL 서버에 로그인하기 위하여 사용되는 사용자 계정을 지정한다.
Tip : | user=’*’를 지정하면, 사용자에게 ID를 입력하도록 메시지 창을 표시한다. |
영향 : | USER 옵션을 지정하고 PUSER옵션을 지정하지 않으면, USER옵션이 전달되는 곳은 proxy 서버 지정 여부에 따라 달라진다. Proxy 서버를 지정하지 않으면, USER는 WEB서버로 전달된다. Proxy 서버를 지정하면, USER는 proxy 서버로 전달 될 것이다. PUSER옵션을 지정하면, proxy 서버 지정 여부에 관계없이 USER옵션은 WEB 서버로 전달된다. |
영향 : | PROMPT를 지정하고 PUSER를 지정하지 않으면, 사용자에게 비밀번호뿐만 아니라 ID에 대한 입력을 위한 메시지 창을 표시한다. |
3. 범 주
SAS 기본 구문 (데이터 접근)
4. 상세 설명
SSL(Secure Sockets LayerL) 프로토콜은 URL이 “http” 대신 “https”으로 시작하는 경우에 사용된다. SSL 프로토콜은 네트워크 보안과 개인정보 보호를 위하여 사용된다. Netscape 통신에 의해 개발된 SSL은 RC2,RC4, DES, tripleDES, IDEA, MD5를 포함하는 암호화 알고리즘을 사용한다.
단지 암호화 서비스 제공에 국한되지 않고, SSL은 client와 서버 인증을 수행 할 수 있고, 메시지 인증코드를 사용 할 수 있다. SSL은 Netscape Naviagator 와 Internet Explorer 양쪽에서 지원된다.
운영환경정보 : | FILENAME 구문을 사용하기 위하여 운영 환경에 대한 구체적인 정보가 필요하다. URL 접근 정보는 여기에 설명되어 있지만, filenames 지정 등에 대한 상세한 내용은 SAS 도움말을 참고하라. |
5. 비교 구문
구문명 | 구문 내용 |
FILENAME 구문 | SAS 파일 참조자(fileref)를 외부 파일 또는 출력 장치와 연결한다. 이와 반대로 파일 참조자(Fileref)와 외부 파일의 관계를 해제할 수 있으며, 외부 파일 속성을 출력할 수 있다. |
FILENAME 구문, CATALOG 접근 방법 | SAS 파일참조자(fileref)가 SAS 카탈로그를 참조하도록 지정한다. 외부 파일에 접근하는 방식과 유사하게 SAS 명령어, SAS 문장, 프로시져를 사용하여 SAS 카탈로그에 접근할 수 있다. 이 접근 방법은 SAS 카탈로그에 존재하는 자동 호출 매크로를 직접 호출할 수 있다. |
FILENAME 구문, CLIPBOARD 접근 방법 |
HOST 컴퓨터의 클립보드에서 데이터를 읽고, 반대로 클립보드에 데이터를 작성한다. 동일하게 마우스를 사용하여서 탐색기의 Pop-up 메뉴에서 “클립보드에 복사”(Copy contents to Clipboard)를 사용하여 데이터를 클립보드에 복사할 수 있다.(Ctrl+C / Ctrl+V) |
FILENAME 구문, EMAIL(SMTP) 접근 방법 | 간이 전자 이메일 전송 프로토콜(Simple Mail Transfer Protocol, SMTP) 인터페이스를 사용하여 SAS 프로그래밍 구문에서 전자 메일을 전송한다. |
FILENAME 구문, FTP 접근 방법 | FTP 프로토콜(protocol)을 사용하여 원격(remote) 파일에 접근하여서 파일 다운로드와 업로드 작업을 수행할 수 있다. |
FILENAME 구문, SOCKET 접근 방법 | |
FILENAME 구문, SFTP 접근 방법 | SFTP 프로토콜을 사용하여 원격(remote) 파일에 접근하여서 파일 다운로드와 업로드 작업을 수행할 수 있다. |
FILENAME 구문, URL 접근 방법 | URL 접근 방법을 사용하여 원격(remote) 파일에 접근하여 작업을 수행할 수 있다. |
6. 예 제
예제1 : Web 사이트의 파일 접근하기
다음 예제는 www.a.com 사이트에서 test.dat 문서에 접근한다.
SAS Statements |
filename foo url 'http://www.a.com/test.dat'
proxy='http://www.gt.sas.com';
예제2 : 사용자 ID와 비밀번호 지정
다음 예제는 SSL 프로토콜을 사용하여 www.b.com 사이트에서 file1.html 문서에 접근한다.
SAS Statements |
filename foo url 'https://www.b.com/file1.html'
user='jones' prompt;
예제3 : URL 파일에서 처음 15개 records 읽기
다음 예제는 URL 파일에서 처음 15개 레코드를 읽고, PUT 구문을 사용하여 SAS 로그에 레코드를 출력한다.
SAS Statements |
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;
[SAS Statement] SAS 데이터 스텝 구문 사전 목록] |
SAS 함수(SAS Function) 리스트 링크 |
'SAS > SAS 구문사전' 카테고리의 다른 글
【SAS Statement】 FORMAT 구문 (0) | 2022.02.01 |
---|---|
【SAS Statement】 FOOTNOTE 구문 (0) | 2022.02.01 |
【SAS Statement】 FILENAME 구문, SFTP 접근 방법 (0) | 2022.01.30 |
【SAS Statement】 FILENAME 구문, FTP 접근 방법 (0) | 2022.01.30 |
【SAS Statement】 FILENAME 구문, EMAIL (SMTP) 접근 방법 (0) | 2022.01.29 |
댓글