通过Web服务连接MSSQL。Python。Suds。SOAP
我正在使用suds连接到一个网络服务。
from suds.client import Client
client=Client(url)
#then i'm using web servise methods to get table. It is very big table.
big_table=client.service.GetVeryBigTable()
#nd trying read every row
for row in big_table:
print row.Id + row.Nmae + row.Description + row.Item1 +......
我的问题是 - 当我读取数据行时,是从我本地的内存中读取,还是每次都从远程网络服务读取?我的意思是,变量 big_table
是包含了我内存中所有表的链接,还是像迭代器一样每次都从远程获取?
1 个回答
0
所以,没人知道这个问题的答案。我自己想出来的。
当方法返回结果时,它会把所有数据以XML格式加载到我本地的内存中。所以当我尝试获取很大的结果,比如一些大表格时,就会断开连接,给我一个错误提示:远程服务器关闭了连接。
在我的情况下,唯一的解决办法是先获取ID,然后对每一行进行请求,使用ID的循环来处理。