2

我们想配置一个元数据 libname 连接,用户在访问远程数据库时将输入他们的登录凭据(使用 MYSQL 引擎)。

将身份验证类型设置为“提示”,如下所示:

在此处输入图像描述

在 Base SAS 中运行良好:

在此处输入图像描述

但不是在 EG 中:

在此处输入图像描述

或 WRS:

Error messages:An error occurred in processing the report element. Refresh the page to try again. Contact your administrator if this problem persists. 
[a13711980861670.7733371536680634_0_0] Error Rendering the Report
Error while submitting SAS code 
1 options Locale=en_GB; 
2 LIBNAME xxx MYSQL PRESERVE_COL_NAMES=YES DIRECT_SQL=NONE PRESERVE_TAB_NAMES=YES DBPROMPT=YES
DATABASE=xxx MYSQL_PORT=4444 SERVER="xxxx" USER=xxxx PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ; 
   3 
4 PROC SQL; 
5 Create table wrstemp.xxxx as 
6 SELECT DISTINCT 
7 table0.fxxx AS DIR_2 , 
8 ( table0.sxxx ) AS DIR_3 ,
 9 table0.sysxxx AS DIR_4 , 
10 SUM( ( ranuni(0) ) ) AS DIR_1 LABEL='DataItem1' 
11 FROM 
12 xxxx.xxx table0 
13 GROUP BY 
14 1, 
15 2, 
16 3; 
ERROR: No terminal connected to the SAS session

根据注释3352,我们没有使用 SAS/Connect(并且自动执行程序为空)

此外,7980中的建议没有用,因为我们使用的是中间层应用程序,所以没有可用的窗口。

4

1 回答 1

0

对于 Web Report Studio,您可以将“显示管理凭据”属性设置为“是” - 这将允许在 WRS 会话的生命周期内设置身份验证域和用户/密码。请参阅此处的文档:

http://support.sas.com/documentation/cdl/en/biwaag/63149/HTML/default/viewer.htm#a002938529.htm#a003287493

对于 Enterprise Guide,这是来自 SAS 支持的响应:

元数据库引擎 (libname META) 无法向客户端显示凭据请求。因此,当图书馆配置为使用 MLE 时,凭据必须存在于元数据中,以便 EG 成功分配图书馆。将 DBMS 库设置为使用已存储凭据的 authdomain 将导致应用凭据。如果由于站点安全限制而无法做到这一点,那么将分配模式设置为“EG 分配”以便 EG 构建一个 libname 语句而不是使用 META 引擎应该会导致提示。为此,可以将 EG 中的库修改为具有“EG Assign”或使用 SMC 并将“AssignMode”的扩展属性设置为“0”。

所以基本上,右键单击 SMC 中的库,选择“扩展属性”选项卡并输入 AssignMode=0 值:

在此处输入图像描述

同样,凭据将持续一个会话。

但是- 有一种更简单、更强大的方法(也可以在 BI Dashboard 中使用)。只需在相关连接(服务器管理器插件、SMC)中设置适当的身份验证域,并允许用户使用SAS 个人登录管理器(也可在企业指南中找到)更新其 OWN 密码。简单!

于 2013-06-19T08:16:36.467 回答