2013-12-12 2 views
1

У меня возникла ситуация, когда мне нужен идентификатор пользователя библиотек метаданных SAS. Я не хочу перечислять пользователей, которые обращаются к метаданным. Итак, Fetch user id from SAS metadata server не является решением для моего запроса.Учетные данные для библиотеки метаданных sas-User ID

Пожалуйста, помогите

код
+1

Итак, каков ваш запрос? «Идентификатор пользователя библиотеки» не имеет смысла. Вы имеете в виду, какие пользователи/группы могут получить доступ к этой библиотеке? –

+0

Нет, я имею в виду учетные данные аутентификации, используемые для доступа к библиотеке. Или даже данные сервера, такие как имя сервера, помогут. Я нашел способ заполнить детали схемы библиотеки. Наряду с этим я хочу также указать имена серверов. – Sakthi

+0

Сведения о сервере можно найти в консоли управления SAS. Щелкните правой кнопкой мыши имя библиотеки и выберите свойства. – Sakthi

ответ

0

SAS, чтобы получить учетные данные (из метаданных) для библиотеки двигателя ODBC может выглядеть следующим образом:

%let libref=MYLIB; 
/* get liburi */ 
data _null_; 
    length lib_uri $256; 
    call missing (of _all_); 
    /* get URI for the particular library */ 
    rc=metadata_getnobj("omsobj:[email protected] ='&libref'",1,lib_uri); 
    call symputx("liburi",lib_uri,'l'); 
run; 
/* query for credentials */ 
data _null_; 
    length connx_uri conprop_uri value datasource up_uri schema $256.; 
    call missing (of _all_); 
    /* get source connection ID */ 
    rc=metadata_getnasn("&liburi",'LibraryConnection',1,connx_uri); 
    /* get connection properties */ 
    i=0; 
    do until (rc2<0); 
    i+1; 
    rc2=metadata_getnasn(connx_uri,'Properties',i,conprop_uri); 
    rc3=metadata_getattr(conprop_uri,'Name',value); 
    if value='Connection.ODBC.Property.DATASRC.Name.xmlKey.txt' then do; 
     rc4=metadata_getattr(conprop_uri,'DefaultValue',datasource); 
     rc2=-1; 
    end; 
    end; 
    /* get SCHEMA */ 
    rc6=metadata_getnasn("&liburi",'UsingPackages',1,up_uri); 
    rc7=metadata_getattr(up_uri,'SchemaName',schema); 
    call symputx('SQL_schema',schema,'l'); 
    call symputx('SQL_dsn',datasource,'l'); 
run; 

libname &libref ODBC DATASRC=&sql_dsn SCHEMA=&sql_schema; 

макрос, который будет генерировать Имя_библиотеки заявление для других типов библиотек имеется here.

Смежные вопросы