2017-07-28 46 views
0

我为auto follow用户创建了一个存储过程,并且此过程已在服务器上。在我的数据库中,有2万多个用户。本店程序使用光标使用SQL Server存储过程和光标的“传输级错误”

出现此错误从服务器接收结果时发生传输级错误。 (provider:TCP提供程序,error: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 

请让我知道这是否也可以改进

回答

0

“传输级别错误”意味着从中调用存储过程的计算机与存储过程所在的数据库服务器失去了网络连接,它与该过程的代码无关

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