如何在从sas连接到oracle数据库时创建安全性

如何在从sas连接到oracle数据库时创建安全性,sas,Sas,这样我们可以为数据库提供安全性吗? 因此,如果我清除了日志,没有人能看到,我会尝试确保连接的安全性。但一旦我关闭sas分区,我创建的库将消失,因此,请您帮助我创建永久库,以确保分区关闭后与oracle建立连接 您可以将libname语句添加到autoexec.sas文件中。下面是SAS在需要创建文件时如何查找该文件。 您可以对密码进行编码,这样就不必将其存储为纯文本。查看PROC PWENCODE--确保oracle凭据安全的另一种方法是在LIBNAME语句中使用dbprompt=yes。在这

这样我们可以为数据库提供安全性吗?
因此,如果我清除了日志,没有人能看到,我会尝试确保连接的安全性。但一旦我关闭sas分区,我创建的库将消失,因此,请您帮助我创建永久库,以确保分区关闭后与oracle建立连接

您可以将libname语句添加到autoexec.sas文件中。下面是SAS在需要创建文件时如何查找该文件。


您可以对密码进行编码,这样就不必将其存储为纯文本。查看PROC PWENCODE--

确保oracle凭据安全的另一种方法是在LIBNAME语句中使用
dbprompt=yes
。在这种情况下,您不需要在语句中包含用户名和密码-每次分配库时都会提示它们(在弹出窗口中)。这当然不太方便,尤其是如果您希望为每个会话分配此库。但是安全是值得牺牲的,我认为

它适用于SAS基本接口,但不适用于Enterprise Guide(当SAS服务器与EG本身位于同一台本地计算机上时,几乎总是这样):


在这种情况下,您可以使用EG功能(提示管理器)创建用户提示。这些提示将把您在提示窗口中输入的登录名和密码分配给宏变量,然后您可以在LIBNAME语句中引用宏变量。

请注意,如果您只是将编码密码留在代码(或日志)中,其他人可以读取,则编码密码并不真正安全。任何人都可以复制粘贴您的编码密码,并使用编码版本获得访问权限。如果您的程序不是在批处理模式下运行(即没有人工干预),那么这可能是您的最佳选择。
 %let user=scott;
 %let password=tiger;

libname ora oracle user=&user password=&password;

 options mprint mlogic symbolgen;

 dm log 'clear';