I have an Issue in executing stored procedure from Python. It only gets executed partially. However, when I execute the same from MSSQL server, I have no Issues. I've reviewed my stored procedure several times following inputs from SQL Stored Procedures not finishing when called from Python.
I am unable figure out as to why pyodbc would treat below SP any differently.
Stored Procedure
CREATE PROCEDURE 
    [dbo].[IVRP_Nodes]
AS
BEGIN
        SET NOCOUNT ON;
        DECLARE @Id nchar(16);
        DECLARE @_id nchar(16); 
        DECLARE @number int;
        DECLARE Nodes_Cursor CURSOR FOR 
        SELECT r._id,r.Number FROM  Room r
        OPEN Nodes_Cursor
        FETCH NEXT FROM Nodes_Cursor into @_id,@number; 
        WHILE @@FETCH_STATUS = 0
        BEGIN 
            DECLARE @RETN as nchar(16);
            Exec   SP_GetId Nodes , @RETN OUTPUT;
            set @Id = @RETN;
            INSERT INTO [dbo].[Nodes]([_Id],[RoomNumber],[NodeAddress], 
            [NodeType],[NodeState],[_tsUpd])
            VALUES(@Id ,@number,'1','114','0',getdate());
            FETCH NEXT FROM Nodes_Cursor into @_id,@number; 
        END; 
        CLOSE Nodes_Cursor; 
        DEALLOCATE Nodes_Cursor; 
END
In Python, I am using following code snippet:
        mydb_lock = pyodbc.connect('Driver={SQL Server Native Client 11.0};'
                               'Server=localhost;'
                               'Database=InterelRMS;'
                               'Trusted_Connection=yes;'
                               'MARS_Connection=yes;'
                               'user=sa;'
                               'password=Passw0rd;')
        mycursor_lock = mydb_lock.cursor()
        sql_nodes = "Exec IVRP_Nodes"
        mycursor_lock.execute(sql_nodes)
        mydb_lock.commit()
Any assistance or help regarding above matter would be appreciated.
Thanks.