"传输级错误"使用SQL Server存储过程和游标

时间:2017-07-28 06:54:34

标签: sql-server stored-procedures cursor

我为auto follow用户创建了一个存储过程,此过程已在服务器上。在我的数据库中,有20,000多个用户。此商店过程使用光标

我收到此错误从服务器接收结果时发生传输级错误。 (提供者:TCP提供者,错误:0 - 远程主机强行关闭现有连接。)"

这是我的存储过程。

                DECLARE @UserIdF Int
            DECLARE @UserId Int

        DECLARE csrAutoFollow CURSOR FOR
        SELECT  TOP (1) userid FROM dbo.users where  IsFUser = 1  ORDER BY NEWID()

        OPEN csrAutoFollow
            FETCH NEXT FROM csrAutoFollow INTO @UserIdF

            WHILE @@FETCH_STATUS = 0
            BEGIN
                            DECLARE csrauto CURSOR FOR
                            SELECT userid FROM dbo.Users WHERE IsFUser IS NULL 

                            OPEN csrauto
                                FETCH NEXT FROM csrauto INTO @UserId

                            WHILE @@FETCH_STATUS = 0   
                            BEGIN       

                                EXEC dbo.FollowUnfollowUser @UserIdF,@UserId,1

                            FETCH NEXT FROM csrauto INTO @UserId   
                            END   

                            CLOSE csrauto   
                            DEALLOCATE csrauto

                FETCH NEXT FROM csrAutoFollow INTO @UserIdF   
            END         
        CLOSE csrAutoFollow   
    DEALLOCATE csrAutoFollow

请告诉我这是否也可以改进。

1 个答案:

答案 0 :(得分:0)

“传输级别错误”表示从中调用存储过程的计算机已丢失与存储过程所在的数据库服务器的网络连接。它与程序的代码无关。

您需要让网络管理员查看问题。