我已经使用此代码来获取所有SAS库,物理表和作业的对象列表。https://github.com/sasjs/core/blob/master/meta/mm_getobjects.sas我现在需要获取这些对象的详细信息,像图书馆一样 - 我需要他们的libname和完整的道路,Teradata libs-架构名称,lib路径物理表 - 位置和其他属性工作 - 位置和其他属性。
我对我们如何报告属性并不熟悉,但我绝对需要他们的路径和属性。谢谢。
您所指的示例是使用返回XML的proc metadata
,您需要了解和处理。这里真正的问题是您必须学习如何构建输入XML来构建元数据查询,这是一件复杂的事情。
也许更直接的是使用数据步骤元数据函数。
metabrowse命令可用于了解元数据对象关系(如果您可以访问SAS基金会(,请参见此处
您要要求的属性会根据您要检查的库引擎而更改。
以下宏将为基础,OLEDB,ODBC和Postgres引擎生成一个libname(请注意,存储库已移动(:
https://github.com/sasjs/core/blob/main/meta/meta/mm_assigndirectlib.sas
根据以下答案可用直接属性:如何获取SAS
中的元数据的详细信息根据以下答案可用文件夹路径:
%let metauri=OMSOBJ:PhysicalTableA5HOSDWY.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;