Sas 获取所有libref的服务器信息

Sas 获取所有libref的服务器信息,sas,enterprise-guide,Sas,Enterprise Guide,如何获取包含变量libref和server\u id(或任何服务器信息)的表,以供我在SAS中使用 我的目标是获得所有这些库的数据物理位置的摘要,以便在从不同服务器获取数据时编写高效的查询。查看SASHELP.VLIBNAM视图(或使用PROC SQL时的DICTIONARY.LIBNAMES)中提供了哪些信息 下面是一个实用程序宏,它从给定libref的视图中提取引擎、主机和模式。我将其用于TERADATA、ORACLE和ODBC引擎 查看视图SASHELP.VLIBNAM(或使用PROC-S

如何获取包含变量
libref
server\u id
(或任何服务器信息)的表,以供我在
SAS
中使用


我的目标是获得所有这些库的数据物理位置的摘要,以便在从不同服务器获取数据时编写高效的查询。

查看SASHELP.VLIBNAM视图(或使用PROC SQL时的DICTIONARY.LIBNAMES)中提供了哪些信息


下面是一个实用程序宏,它从给定libref的视图中提取引擎、主机和模式。我将其用于TERADATA、ORACLE和ODBC引擎

查看视图SASHELP.VLIBNAM(或使用PROC-SQL时的DICTIONARY.LIBNAMES)中提供了哪些信息


下面是一个实用程序宏,它从给定libref的视图中提取引擎、主机和模式。我将其用于TERADATA、ORACLE和ODBC引擎

根据Tom的代码和建议,我用以下代码构建了我需要的表格:

PROC SQL;
SELECT distinct libname, engine, path,
CASE WHEN engine in('BASE','V9') THEN 'SAS' ELSE catx('_',engine,path) END AS server
FROM DICTIONARY.LIBNAMES ;
QUIT;

根据Tom的代码和建议,我用以下代码构建了所需的表格:

PROC SQL;
SELECT distinct libname, engine, path,
CASE WHEN engine in('BASE','V9') THEN 'SAS' ELSE catx('_',engine,path) END AS server
FROM DICTIONARY.LIBNAMES ;
QUIT;

像汤姆提到的那样,图书馆里有几张桌子可以帮助你。 您还可以使用VTABLE,它将包含所有表,其中library和VCOLUMN将包含从库到表到列的详细信息,以及使用的数据类型和长度。 它们的工作方式有点像信息模式数据库中的SQL数据

或者,对数据集使用proc内容也将返回其所有组件,您可以将其放入表或宏变量中。
希望这有帮助

像汤姆提到的那样,图书馆里有几张桌子可以帮助你。 您还可以使用VTABLE,它将包含所有表,其中library和VCOLUMN将包含从库到表到列的详细信息,以及使用的数据类型和长度。 它们的工作方式有点像信息模式数据库中的SQL数据

或者,对数据集使用proc内容也将返回其所有组件,您可以将其放入表或宏变量中。
希望这有帮助

谢谢汤姆,你又救了我一次谢谢汤姆,您再次保存我哦我想您需要的不仅仅是服务器路径的更多详细信息:)哦我想您需要的不仅仅是服务器路径的更多详细信息:)如果您的libref是元引擎,您可以使用此宏生成直接连接,并检查此连接以查找实际源:如果您的libref是元引擎,您可以使用此宏生成一个直接连接,并检查该连接以找到您的实际来源: