我們已經遷移了我們的數據倉庫,並且我們被要求使用SAS EG連接到我們所有庫的元數據服務器。PC SAS可以用於繞過SAS EG連接到Unix會話嗎?
有沒有辦法仍然使用PC SAS連接到這些庫?如果是這樣,關於如何做到這一點的任何提示?
我更喜歡使用Base SAS出於各種原因,其中之一是使用SAS EG,如果我們的元數據服務器關閉(發生了很多),那麼我無法驗證我的會話,因此我被搞砸了。
此外,我的大多數SAS編碼並不要求我訪問特定的數據倉庫,所以我寧願不要綁定到SAS EG。
我們已經遷移了我們的數據倉庫,並且我們被要求使用SAS EG連接到我們所有庫的元數據服務器。PC SAS可以用於繞過SAS EG連接到Unix會話嗎?
有沒有辦法仍然使用PC SAS連接到這些庫?如果是這樣,關於如何做到這一點的任何提示?
我更喜歡使用Base SAS出於各種原因,其中之一是使用SAS EG,如果我們的元數據服務器關閉(發生了很多),那麼我無法驗證我的會話,因此我被搞砸了。
此外,我的大多數SAS編碼並不要求我訪問特定的數據倉庫,所以我寧願不要綁定到SAS EG。
大多數情況下,這是您網站的數據倉庫管理員(控制對數據倉庫訪問的人員)的問題。它可以或不可能直接連接到數據倉庫,具體取決於它的設置方式以及如何完成許可。通常情況下答案是否定的,並且它的設置是爲了避免允許這樣做(因爲這是處理認證的一種簡單方法)。
除此之外,您的第二點並不意味着您無法使用Enterprise Guide並避免使用元數據服務器。在「企業指南」中,您可以選擇要在哪個服務器上運行代碼,其中應該包含「本地服務器」選項,該選項是本地Base SAS安裝。 (實際上,這就是我使用Enterprise Guide的100%。)因此,如果元數據服務器關閉,或者由於其他原因想要避免連接到它,您可以簡單地使用本地連接配置文件打開EG並在本地運行代碼。
有幾個大的IF。
如果您有在桌面上運行SAS的許可證。
如果您擁有桌面SAS上正確的ACCESS引擎的許可證。
數據倉庫/數據庫有權限通過ACCESS引擎遠程登錄。
如果所有這些都是真的,那麼是的。如果沒有,沒有。
當然,您可以連接到PC SAS的元數據定義庫 - 只需要兩條語句!
options metaserver="YourMetaserver.domain"
metaport=8561 /* as appropriate */
metauser="YourMetadataUserID"
metapass="YourMetadataP*ssw*rd";
libname YourLibref meta library="The library name given in metadata";
個人而言,我更喜歡用librefs比記住庫名工作,所以我寫了下面的適當分配(你需要首先連接到元數據服務器,通過上面的選項語句)
%macro assign_lib(
libref= /* libref that needs to be assigned */
);
%if %sysfunc(libref(&libref)) %then %do;
data _null_;
length lib_uri LibName $200;
call missing(of _all_);
nobj=metadata_getnobj("omsobj:[email protected]='&libref'",1,lib_uri);
if nobj=1 then do;
rc=metadata_getattr(lib_uri,"Name",LibName);
call symputx('LIB',libname,'L');
end;
else if nobj>1 then do;
putlog "ERROR: More than one library registered with libref &libref";
end;
else do;
putlog "ERROR: Library &libref not found in metadata";
end;
run;
libname &libref meta library="&lib";
%if %sysfunc(libref(&libref)) %then %do;
%put WARNING: Library &libref not assigned!;
%end;
%end;
%else %put NOTE: Library &libref is already assigned;
%mend;
使用方法如下:
%assign_lib(libref=SVRLIBRF)
看起來像它會工作,因爲我看到出現新分配的庫的圖標,我可以雙擊該庫並查看所有相關的數據集。但是,出於某種原因,我有一個「注意:庫xxxx不存在。」消息和我嘗試打開的任何數據集都是空的。藉助SAS EG,我發現這些數據集不是空的。 –
這可能是由於元數據(或權限問題)中該庫的定義不正確。 –
我看到解決它是否可以連接到PC,從倉庫SAS無需連接到元數據服務器的答案。我認爲也可以從PC SAS連接到元數據服務器。你對這種方法感興趣嗎? – Quentin
我有這樣的設置,但我們的管理員已經創建了一個單獨的autoexec,以便我們可以連接到庫,但我們沒有連接到元數據服務器。我們也有連接到元數據服務器的EG。所以兩者都安裝在我們的桌面上。 – Reeza
@Quentin,是的。任何想法如何? –