Rodrigo Boniatti
Rodrigo Boniatti

Reputation: 447

Django - Stored procedure does not exist

I trying call stored procedure in Django, but this showed this message (1305, 'PROCEDURE storedprocedureservice.MyStoredProcedure does not exist')

This is my code:

class StoredProcedureService():
    def close_service(self, param1, param2, param3):
        cursor = connection.cursor()
        ret = cursor.callproc("StoredProcedureService.MyStoredProcedure", (self, param1, param2, param3))
        cursor.close()
        return ret

@csrf_exempt
def service(request):

    if request.is_ajax:
        value = request.POST.get('value')
        stored_procedure = StoredProcedureService()
        ret = stored_procedure.close_service(value, 1, 'Lorem Ipsum')

    return JsonResponse({"status":"ok"})

My procedure is in other database, I ready configure it, but don't know how call it.

I try it, but not working: cursor = connection.using("myOtherDatabase").cursor()

Upvotes: 1

Views: 253

Answers (1)

Rodrigo Boniatti
Rodrigo Boniatti

Reputation: 447

I resolved my question thanks this answer https://stackoverflow.com/a/28029109/3464573

My code was this way:

class StoredProcedureService():
    def close_service(self, param1, param2, param3):
        cursor = connections["mydatabase"].cursor()
        cursor.callproc("StoredProcedureService.MyStoredProcedure", [param1, param2, param3])
        results = cursor.fetchall()
        cursor.close()
        return results

@csrf_exempt
def service(request):

    if request.is_ajax:
        value = request.POST.get('value')
        stored_procedure = StoredProcedureService()
        ret = stored_procedure.close_service(value, 1, 'Lorem Ipsum')

    return JsonResponse({"status":"ok"})

Upvotes: 1

Related Questions