嗨,我正在尝试连接到Essbase,但出现错误。解决该问题的任何帮助都将受到赞赏。
Essbase类:
def __init__(self):
self.user = None
self.sid = None
self.ssnInit = None
self.numRows = None
self.numFlds = None
self.sts = None
self.bMdxQuery = None
# Check for environment variables needed for essbase
try:
os.environ["ESSBASEPATH"]
os.environ["PATH"]
except KeyError as e:
print ("environment variable {VAR} not set".format(VAR=e))
raise SystemExit
# Initialize MaxL API
inst = maxl_instinit_t()
# Try to find and load the DLL
__maxldll = find_library('essmaxlu')
if __maxldll:
print ("Using Maxl DLL in {DLLpath}".format(DLLpath = __maxldll))
if "11.1.2.4" in (getFileVerInfo(__maxldll)):
MAXL_MDXCELLSTRSZ = 1024 + 3
else:
MAXL_MDXCELLSTRSZ = 1024
self.maxl = cdll.LoadLibrary(__maxldll)
else:
print ("maxl DLL not found")
raise SystemExit
if ESS_UTF:
inst.bUTFInput = ESS_TRUE
sts = self.maxl.MaxLInit(byref(inst))
Essbase.isInitialized = (sts == MAXL_MSGLVL_SUCCESS)
def __del__(self):
if Essbase.isInitialized:
# Terminate MaxL API
sts = self.maxl.MaxLTerm()
Essbase.isInitialized = False
我收到以下错误消息...
在C:\ ORACLE \ Middleware \ EPMSystem11R1 \ common \ EssbaseRTC-64 \ 11.1.2.0 \ bin \ essmaxlu.dll中使用Maxl DLL 追溯(最近一次通话):
文件“”,第40行,在 esss = Essbase.Essbase()
init 中的文件“ C:\ Python3 \ Lib \ Essbase.py”,第184行 如果(getFileVerInfo(__ maxldll))中为“ 11.1.2.4”:
TypeError:需要一个类似字节的对象,而不是'str'