我们希望配置元数据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中的建议没有用,因为我们正在使用中间层应用程序,因此没有窗口可用..
答案 0 :(得分:0)
对于Web Report Studio,您可以将“Show Manage Credentials”属性设置为“Yes” - 这将允许在WRS会话的生命周期内设置身份验证域和用户/密码。请参阅此处的文档:
对于Enterprise Guide,这是SAS支持的回复:
元数据库引擎(libname META)无法向客户端显示凭据请求。因此,当库配置为使用MLE时,凭证必须存在于元数据中,以便EG成功分配库。 将DBMS库设置为使用已存储凭据的authdomain将导致应用凭据。 如果由于站点安全性限制而无法实现,则将分配模式设置为“EG Assign”,以便EG构建libname语句而不是使用META引擎,这将导致提示。要做到这一点,要么修改EG中的库以使用“EG Assign”或使用SMC并将“AssignMode”的扩展属性设置为值“0”。
所以基本上,右键单击SMC中的库,选择“扩展属性”选项卡并输入AssignMode = 0值:
同样,凭据将持续一个会话。
然而 - 有一种更容易,更强大的方法(也可以在BI Dashboard中使用)。只需在相关连接(服务器管理器插件,SMC)中设置适当的身份验证域,并允许用户使用SAS Personal Login Manager更新其OWN密码(也可在“企业指南”中找到)。 Simples!