2013-02-05 2 views
0

내가 연결된 서버에서 절차를 호출하면, 나는 다음과 같은 오류 얻을 : 심각한 오류는 현재 명령에서 발생전화 연결된 서버 절차

메시지 0, 수준 20, 상태 0, 줄 0 을. 결과가 있으면 폐기해야합니다.

SSMS에서 작동하며 클래식 ASP에서도 작동하지만 여기서는 작동하지 않습니다. 비슷한 질문을했지만 대답이 없습니다. 그리고 나는 직접 연결된 서버에 연결하고 프로 시저를 로컬에서 실행할 수 없다. 다음과 같이 실행되어야합니다 : myLinkedServer.Database.dbo.myProcedure

어떤 생각?

using (SqlCommand getOutput = new SqlCommand()) 
     { 

      getOutput.CommandText = "myLinkedServer.Database.dbo.myProcedure"; 
      getOutput.CommandType = CommandType.StoredProcedure; 
      getOutput.CommandTimeout = 300; 
      getOutput.Connection = conn; 

      conn.Open(); 
      using (SqlDataAdapter da = new SqlDataAdapter(getOutput)) 
      { 
       da.AcceptChangesDuringFill = false; 
       da.Fill(exportData);//here error happened 
       conn.Close(); 
       da.Dispose(); 

답변

0

나는 해결책을 발견 :

getOutput.CommandText = "EXEC myLinkedServer.Database.dbo.myProcedure"; 
getOutput.CommandType = CommandType.Text; 

연결된 서버의 프로 시저를 호출 명령 형식이 텍스트로해야한다.

+0

이 답변이 해결책이라면 해결책으로 표시하십시오. – VansFannel