Я хотел бы сериализовать результаты запроса. Вот мой пример:Pickle and pypyodbc cursor
import pypyodbc
import pickle
connection_string ='Driver={SQL Server Native Client 11.0};Server=localhost;' \
'Database=someDB;Uid=someLogin;Pwd=somePassword;'
connection = pypyodbc.connect(connection_string)
sql_query = "SELECT * FROM SomeTable"
cur = connection.cursor()
cur.execute(sql_query)
query_list = list(cur)
with open(r'D:\query_result', 'wb') as f:
pickle.dump(query_list, f)
cur.close()
connection.close()
Он генерирует следующее сообщение об ошибке:
_pickle.PicklingError: Can't pickle <class 'pypyodbc.TupleRow.<locals>.Row'>:
attribute lookup Row on pypyodbc failed
Я думаю, рассол не полностью поддерживают pypyodbc объектов. Каким будет обходной путь?
Может быть 'query_list = список (cur.fetchall())' ...? –
По-прежнему не повезло, плюс я нашел http://stackoverflow.com/questions/17861152/cursor-fetchall-vs-listcursor-in-python – user1700890