Python操作数据库被占用最终导致死锁的问题

需求是这样的,Python这边把Oracle的数据取出,然后插进MSSQL里。但是在Python插入MSSQL的时候,想访问数据表(用的Navicat),就会一直在读取数据的状态,只有等Python这边插入结束,Navicat才会刷出数据。请问这是为什么,有什么办法可以解决呢?Python部分代码如下:

    cursor = conn.cursor()
    try:
        for oracle_data in oracle_datas:
            mssql_sql = f"insert into {table} " + "values(%s" + ",%s" * (len(oracle_data) - 1) + ");"
            cursor.execute(mssql_sql, oracle_data)
        conn.commit()
    except Exception as e:
        logging.error(e)
    finally:
        cursor.close()
        conn.close()

cursor游标每次都获取再操作,操作完close