使用JAVA(IOM Bridge)将变量插入SAS.我应该使用CORBA存根和JDBC还是有其他选择吗?

Tej*_*sad 7 java corba jdbc sas

这是我的代码段的一部分

WorkspaceConnector connector = null;
WorkspaceFactory workspaceFactory = null;
String variableListString = null;
Properties sasServerProperties = new Properties();
sasServerProperties.put("host", host);
sasServerProperties.put("port", port);
sasServerProperties.put("userName", userName);
sasServerProperties.put("password", password);
Properties[] sasServerPropertiesList = { sasServerProperties };
workspaceFactory = new WorkspaceFactory(sasServerPropertiesList, null, logWriter);
connector = workspaceFactory.getWorkspaceConnector(0L);
IWorkspace sasWorkspace = connector.getWorkspace();
ILanguageService sasLanguage = sasWorkspace.LanguageService();
//send variable list string
//continued
Run Code Online (Sandbox Code Playgroud)

我需要通过IOM桥将"variableListString"发送到SAS服务器.Java SAS API没有给出明确的方法.使用CORBA和JDBC是最好的方法吗?给我一个提示如何做到这一点.有没有其他方法可以做到?

Tim*_*ist 1

不久前就有人问过这个问题,但如果有人仍然想做同样的事情,这个问题很有用。
一种方法是构建一串 sas 代码并将其提交到服务器。我们使用此方法在主机上为连接的会话设置变量。%include您还可以使用此技术来使用诸如“path to my code/my sas code.sas”之类的代码来包含 sas 代码;:

...从问题中的代码继续...

langService = iWorkspace.LanguageService();
    StringBuilder sb = new StringBuilder();
    sb.append("%let mysasvar=" + javalocalvar);
    ... more variables
    try {
        langService.Submit(sb.toString());
    } catch (GenericError e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)