python - SAS IOM 桥与 Python
问题描述
我正在使用 IOM Bridge 连接到远程 SAS 工作区服务器:
import win32com.client
objFactory = win32com.client.Dispatch("SASObjectManager.ObjectFactoryMulti2")
objServerDef = win32com.client.Dispatch("SASObjectManager.ServerDef")
objServerDef.MachineDNSName = "servername"
objServerDef.Port = 8591 # workspace server port
objServerDef.Protocol = 2 # 2 = IOM protocol
objServerDef.BridgeSecurityPackage = "Username/Password"
objServerDef.ClassIdentifier = "workspace server id"
objSAS = objFactory.CreateObjectByServer("SASApp", True, objServerDef, "uid", "pw")
program = "ods listing;proc means data=sashelp.cars mean mode min max; run;"
objSAS.LanguageService.Submit(program)
_list = objSAS.LanguageService.FlushList(999999)
print(_list)
log = objSAS.LanguageService.FlushLog(999999)
print(log)
objSAS.Close()
它工作正常。但是在尝试使用存储过程服务器时(当我更改“端口”和“类标识符”时),我似乎找不到 CreateObjectByServer 的正确属性:
import win32com.client
objFactory = win32com.client.Dispatch("SASObjectManager.ObjectFactoryMulti2")
objServerDef = win32com.client.Dispatch("SASObjectManager.ServerDef")
objServerDef.MachineDNSName = "servername"
objServerDef.Port = 8601 # stored process server port
objServerDef.Protocol = 2 # 2 = IOM protocol
objServerDef.BridgeSecurityPackage = "Username/Password"
objServerDef.ClassIdentifier = "stp server id"
objSAS = objFactory.CreateObjectByServer("SASApp", True, objServerDef, "uid", "pw")
objSAS.StoredProcessService.Repository("path", "stp", "params")
_list = objSAS.LanguageService.FlushList(999999)
print(_list)
log = objSAS.LanguageService.FlushLog(999999)
print(log)
objSAS.Close()
尝试上述方法时,我得到:
AttributeError: CreateObjectByServer.StoredProcessService
我似乎找不到太多关于存储过程服务器的 IOM 文档。有人有什么建议吗?
解决方案
推荐阅读
- python - Python 测试速率限制处理程序
- oracle - 使用 REFERENCES 的 Oracle Sql 表和查询
- c++ - CS 3861 未找到标识符错误
- chart.js - Chartjs 未从 vuex 映射状态读取数据
- node.js - 带有 node.js 的在线编译器
- java - 将列表从 JSON 对象存储到 java arraylist
- jsf - 将 FontAwesome 5.15.0 与 PrimeFaces 8.0 一起使用
- javascript - 如何使用 axios / jest 测试失败的请求
- python - RuntimeError:发送“websocket.close”后出现意外的 ASGI 消息“websocket.send”
- apache-spark - 如何编写 pyspark map-reduce 来计算日期之前的事件数