我已使用此代码获取所有 SAS 库、物理表和作业的对象列表。 https://github.com/sasjs/core/blob/master/meta/mm_getobjects.sas 我现在需要获取这些对象的详细信息,例如库 - 我需要它们的库名称和完整路径,Teradata 库 - 架构名称,库路径物理表 - 位置和其他属性 工作 - 位置和其他属性。
我对我们如何报告或报告哪些属性不是很熟悉,但我绝对需要他们的路径和属性。谢谢你。
我已使用此代码获取所有 SAS 库、物理表和作业的对象列表。 https://github.com/sasjs/core/blob/master/meta/mm_getobjects.sas 我现在需要获取这些对象的详细信息,例如库 - 我需要它们的库名称和完整路径,Teradata 库 - 架构名称,库路径物理表 - 位置和其他属性 工作 - 位置和其他属性。
我对我们如何报告或报告哪些属性不是很熟悉,但我绝对需要他们的路径和属性。谢谢你。
您要求的属性将根据您正在检查的库引擎而变化。
以下宏将为 BASE、OLEDB、ODBC 和 POSTGRES 引擎生成一个 libname(请注意,存储库已移动):
https://github.com/sasjs/core/blob/main/meta/mm_assigndirectlib.sas
直接属性可根据此答案获得:How to get details of metadata objects in SAS
文件夹路径可根据此答案获得:
%let metauri=OMSOBJ:PhysicalTable\A5HOSDWY.BE0006N9;
/* get metadata paths */
data ;
length tree_path $500 tree_uri parent_uri parent_name $200;
call missing(tree_path,tree_uri,parent_uri,parent_name);
drop tree_uri parent_uri parent_name rc ;
uri="&metauri";
rc=metadata_getnasn(uri,"Trees",1,tree_uri);
rc=metadata_getattr(tree_uri,"Name",tree_path);
do while (metadata_getnasn(tree_uri,"ParentTree",1,parent_uri)>0);
rc=metadata_getattr(parent_uri,"Name",parent_name);
tree_path=strip(parent_name)||'/'||strip(tree_path);
tree_uri=parent_uri;
end;
tree_path='/'||strip(tree_path);
run;