SAS错误:没有终端连接到SAS会话

时间:2013-06-14 08:27:09

标签: sas

我们希望配置元数据libname连接,用户每次访问远程数据库时都会输入其登录凭据(使用MYSQL引擎)。

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

enter image description here

在Base SAS中运行良好:

enter image description here

但不是在EG:

enter image description here

或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中的建议没有用,因为我们正在使用中间层应用程序,因此没有窗口可用..

1 个答案:

答案 0 :(得分:0)

对于Web Report Studio,您可以将“Show Manage Credentials”属性设置为“Yes” - 这将允许在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 Assign”,以便EG构建libname语句而不是使用META引擎,这将导致提示。要做到这一点,要么修改EG中的库以使用“EG Assign”或使用SMC并将“AssignMode”的扩展属性设置为值“0”。

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

enter image description here

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

然而 - 有一种更容易,更强大的方法(也可以在BI Dashboard中使用)。只需在相关连接(服务器管理器插件,SMC)中设置适当的身份验证域,并允许用户使用SAS Personal Login Manager更新其OWN密码(也可在“企业指南”中找到)。 Simples!