我一直在使用SAS 9.3宏INDTD_PUBLISH_FORMATS在Teradata 14中发布格式。一切正常,但我看不到的是存储已发布格式的位置。该宏创建了一系列Teradata函数(SAS_PUTx),这些函数在SAS调用格式时调用。通过该函数的外部名称参数,有一条返回SAS服务器上WORK目录的路径,我可以看到那里的格式。但即使我删除此目录,格式仍然可以正常工作。我不知道Teradata在哪里存储它们。它可以在某个地方缓存它们吗? SAS支持似乎无法复制此行为。 感谢
答案 0 :(得分:2)
%INDTD_PUBLISH_FORMATS宏将在Teradata数据库上将格式发布为UDF。 查看"Overview of the Publishing Process"。宏执行以下任务:
1)创建.h和.c文件,这些是构建SAS_PUT()函数所必需的。
2)生成一个Teradata命令脚本,这些命令是在Teradata EDW中注册SAS_PUT()函数所必需的。
3)使用SAS / ACCESS接口Teradata执行脚本并将文件发布到Teradata EDW。
您可以尝试在teradata上使用SHOW FUNCTION SAS_PUT来检查功能。尝试浏览"Format Publishing Macro Example"部分。
此外,以下链接提供了有关整个发布事件如何发生的信息:SAS(R) 9.3 In-Database Products: User's Guide, Fourth Edition -> How it Works
希望这有帮助。
谢谢!