9

SQL Server 2005 Express의 저장 프로 시저에 tableadapter를 추가하려고합니다. 그러나 저장 프로시 저는 #temp라는 임시 테이블을 사용합니다. 테이블 어댑터를 만들 때 Visual Studio는 "알 수없는 개체 '#temp'"라는 문구를 사용하고 저장 프로 시저가 0 열을 반환한다고 말합니다. 이것은 크리스탈 보고서로 저장 프로 시저를 사용하고 해당 열이 필요하기 때문에 문제가됩니다.입력 한 데이터 세트가 임시 테이블을 좋아하지 않는 이유는 무엇입니까?

어떻게 해결할 수 있습니까?

답변

30

엽기. this에 따르면 당신은 SP의 AS 부품 후 SP의 오른쪽

IF 1=0 BEGIN 
    SET FMTONLY OFF 
END 

을 추가하고 작동합니다. Visual Studio는 이제 아무런 문제가 없습니다. 나는 이것이 왜 이런 식으로 작동하는지, 왜 그것이 효과가 있을지 전혀 모른다.

+2

누군가가 아마 나쁜 hairday 데. 그것은 나를 도왔다. +1 –

+0

내가 할 수있는 말은 ... 와우. 이 작품. 이것은 나를 위해 큰 빅딜입니다. 실행되는 보고서의 각 인스턴스마다 고유해야하는 임시 테이블을 사용합니다. 다른 워크 스테이션에서 테이블을 덮어 쓸 수 없습니다. 내 저장 프로 시저로 작업 할 임시 테이블이 필요했습니다. 감사. –

1

이 코드는 오래된 스레드 일 수 있으며 대답을 찾을 수 있지만이 코드를 본 후 저장 프로 시저에 들어가면 실제로 이해하지 못합니다. 이 적절하게이 작업을 수행하는 또 다른 방법이며, 단순히 이런 변수로 테이블을 선언하는 것입니다 :

또한
DECLARE @temp TABLE 
(
    SomeText1 nvarchar(255), 
    SomeText2 nvarchar(255) 
) 

가, 마지막에 DROP 표를 제거하는 것을 잊지 마세요.

추신 : 임시 테이블을 만들어야하기 때문에 임시 테이블을 사용해야하는 경우 이전 답변에서 제공된 코드를 작성해야합니다. 희망이 도움이됩니다.

관련 문제