sql >> Base de Datos >  >> RDS >> Mysql

Procedimiento almacenado de llamada de Django en la segunda base de datos

Estos son los siguientes pasos que tomé:

  1. Hice que mi procedimiento almacenado volcara los resultados en una tabla temporal para reducir el conjunto de resultados a un único conjunto de resultados. Esto eliminó la necesidad de multi=True
  2. Además, me aseguré de que el usuario de mi dirección IP tuviera acceso para llamar a procedimientos almacenados en la propia base de datos.
  3. Finalmente, continué investigando el callproc función. Finalmente, alguien en otro sitio sugirió el siguiente código, que funcionó:

    cur = connections["SomeDB"].cursor()
    cur.callproc("spGetLocationPath", [id, someval])
    res = next(cur.stored_results()).fetchall()
    cur.close()