首页 > 解决方案 > 尝试在 Odoo 11.0 中重新连接问题

问题描述

在从odoo导入或导出大量数据(如5000条记录)的情况下,它显示连接丢失并尝试重新连接消息。那么在处理大量记录时有什么方法可以处理它?

标签: odoo-11

解决方案


就我而言,从 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) 允许您测试少量记录


推荐阅读