2014-07-16 6 views
7

यह मेरा कोड का हिस्सा है झलकीजावा (आईओएम ब्रिज) का उपयोग करके एसएएस में चर डालें। क्या मुझे कोर्बा स्टब्स और जेडीबीसी का उपयोग करना चाहिए या क्या कोई अन्य विकल्प है?

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 

मैं आईओएम पुल के माध्यम से एसएएस सर्वर से "variableListString" भेजने की जरूरत है। जावा एसएएस एपीआई इसे करने के स्पष्ट तरीके नहीं देता है। कॉरबा और जेडीबीसी का उपयोग करना यह करने का सबसे अच्छा तरीका है ?? मुझे एक संकेत दें कि इसे कैसे करें। क्या ऐसा करने के लिए कोई वैकल्पिक तरीका है ??

उत्तर

1

यह थोड़ी देर पहले पूछा गया था लेकिन अगर कोई अभी भी ऐसा करने के लिए उपयोगी है तो उपयोगी।
ऐसा करने का एक तरीका सास कोड की एक स्ट्रिंग बनाना और इसे सर्वर पर सबमिट करना है। हम कनेक्टेड सत्र के लिए होस्ट पर चर सेट अप करने के लिए इस विधि का उपयोग करते हैं। आप भी इस तकनीक का उपयोग %include की तरह कोड का उपयोग कर "मेरे कोड के लिए पथ/मेरी 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(); 
    } 
+0

इस विधि में हम जावा कोड में सास कोड का उपयोग करते हैं। मैं कुछ एसएएस कोड लिखने के बजाय इसे करने के लिए एपीआई का उपयोग करने की कोशिश कर रहा था। –

+0

मैंने हाल ही में नवीनतम एसएएस इंटेटेक जावा एपीआई की समीक्षा की और विकल्पों और प्रारूपों के साथ काम करने के अलावा, मुझे सीधे मैक्रो वैरिएबल के साथ काम करने के लिए कुछ भी नहीं दिख रहा है (मुझे मैक्रो वर्र्स लगता है, पीडीवी वर्र्स नहीं थे जो आप खोज रहे थे)। यह एसएएस एपीआई के मूल निवासी नहीं है लेकिन आप अन्यथा सास आधारित दृष्टिकोण को लपेटने के लिए एक कक्षा का निर्माण कर सकते हैं। यह देखते हुए कि यह कवर के तहत कैसे संचार करता है, एसएएस ने विधि प्रदान करने के बावजूद तार पर प्रभावी ढंग से गुजरना होगा। अन्यथा, खेद है कि मैं अधिक सीधे मदद नहीं कर सकता लेकिन शायद दूसरों को यह एक सामान्य समस्या को हल करने के लिए एक त्वरित तरीका के रूप में उपयोगी हो सकता है। –

+0

मैंने एसएएस समर्थन से संपर्क किया। उन्होंने कहा कि वे मदद नहीं कर सकते क्योंकि उनके एपीआई में ऐसा कुछ भी नहीं है। अभी मैं जावा में एसएएस कोड के माध्यम से कर रहा हूं। –

संबंधित मुद्दे