在SASWorkspaceManager.WorkspaceManager下调用时,x命令不正确?

时间:2010-09-09 04:20:23

标签: vba sas

我编写了一些通过x命令调用R的SAS代码(我使用的是SAS 9.1.3,所以R没有本机SAS接口)。

OPTIONS XWAIT XSYNC;
 X """&r_path."" --no-save --quiet < ""&out_code_folder.\code.r"" > ""&out_code_folder.\abba.log""";

当我在SAS IDE中运行此代码时,但是当我尝试在VBA中运行相同的代码时(此处strSAScode包含上述SAS代码),此代码正常工作。

   Dim obWM As SASWorkspaceManager.WorkspaceManager
    Dim temp_dispaly_alert As Boolean
    Dim sm As SAS_Management    
    Debug.Print strSASCode    
    Set sm = New SAS_Management

    'Set obServerDef = New SASWorkspaceManagerServerDef
    Set obWM = New SASWorkspaceManager.WorkspaceManager
    Set obSAS = obWM.Workspaces.CreateWorkspaceByServer("MyServerName", VisibilityProcess, Nothing, "", "", "")
    Set sm.obLS = obSAS.LanguageService
    temp_dispaly_alert = Application.DisplayAlerts
    Application.DisplayAlerts = False
    sm.obLS.Submit strSASCode

现在除x命令外,其他每个代码都有效。请帮助。

1 个答案:

答案 0 :(得分:3)

默认情况下,由于潜在的安全风险,使用集成技术访问时禁用SYSTEM和X命令。

您是否按照this使用说明中所述的Windows上的9.1.3步骤进行操作? 它描述了如何在SAS服务器上启用此功能;您可能需要调整工作区所描述的内容,而不是存储过程,服务器。