1stpo...@gmail.com writes: > ... > I have another issue. When I make the call to return data apparently the > result set is too big for suds and I get a MemoryError. > > Here is my code snippet: > print 'executing SQL Query:',len(logicalSQL) > > executionOptions={'async':False,'maxRowsPerPage':50,'refresh':True,'presentationInfo':False,'type':'Q1'} > XMLservice=obiclient.service['XmlViewService'] > result=XMLservice.executeSQLQuery(logicalSQL,'SAWRowsetData',executionOptions,sessionid) > > When I run it I get: > executing SQL Query: 5968 > Traceback (most recent call last): > File "C:\temp\obiee\obieetest.py", line 105, in <module> > > result=XMLservice.executeSQLQuery(logicalSQL,'SAWRowsetData',executionOptions,sessionid) > File "build\bdist.win32\egg\suds\client.py", line 542, in __call__ > File "build\bdist.win32\egg\suds\client.py", line 602, in invoke > File "build\bdist.win32\egg\suds\client.py", line 643, in send > File "build\bdist.win32\egg\suds\transport\https.py", line 64, in send > File "build\bdist.win32\egg\suds\transport\http.py", line 79, in send > File "C:\Python27\lib\socket.py", line 358, in read > buf.write(data) > MemoryError: out of memory
There is not much "suds" can do with regard to this. In principle, it could write to a temporary file - but its purpose is to present the webservice result as a collection of Python objects - and they, too, require memory in the same order. Thus, you have the following options: * learn how to limit the amount of data, the webservice provides * give your system (its processes) more memory * do not use "suds" but process the incoming data incrementally (avoiding the build of the intermediate collection of Python objects). -- https://mail.python.org/mailman/listinfo/python-list