odoo-11 - 尝试在 Odoo 11.0 中重新连接问题
问题描述
在从odoo导入或导出大量数据(如5000条记录)的情况下,它显示连接丢失并尝试重新连接消息。那么在处理大量记录时有什么方法可以处理它?
解决方案
就我而言,从 MSSQL 导入记录。使用瞬态模型和 pyodbc
import pyodbc
class Import(models.TransientModel):
@api.multi
def insert_records(self):
try:
cnxn = pyodbc.connect(
'DRIVER={SQL Server}; SERVER=server_address; DATABASE=db_name; UID=uid_name; PWD=pass_word')
cursor = cnxn.cursor()
cursor.execute("SELECT * FROM MSSQL_table")
rows = cursor.fetchall() # or cursor.fetchmany(5000)
pg_table = self.env["pgSql_table"].search([])
for row in rows:
pg_table.create({
"pg_colume_name1": row.SQL_colume_name1, ...
})
except Exception as e:
pass
return True
<button string="import" type="object" name="insert_records" confirm="confirm?"/>
单击按钮运行插入方法,并在运行时使用 pyCharm 设置断点。Fetchmany(number) 允许您测试少量记录
推荐阅读
- python - 为什么所有的测试用例都没有通过?回文程序
- javascript - 如何“强制”Rails 读取 JS 文件,以便函数可用?
- poloniex - Poloniex websocket API 不断断开连接
- angular - Angular httpClient 无法读取未定义的属性未定义
- nginx - Webmin 保存配置文件失败:配置无效:nginx:
- flutter - 每当我运行我的 Flutter 应用程序时,我都会收到一个 null 错误
- reactjs - 如何在反应日历中格式化日期?
- ruby-on-rails - 如何在ruby中销毁除当前用户(管理员)之外的所有用户
- c++ - 在重叠模式下使用 WSASend 时,我应该何时释放缓冲区?
- loadrunner - 无法使用 LoadRunner 2021 录制 Java 桌面应用程序