2017-11-12 12 views
0

R에서 프로 시저를 실행하면 실행 도중에 중지됩니다. 그러나 SQL Server에서 직접 실행하면 실행이 완료됩니다.R에서 실행할 때 완료되지 않은 SQL Server 프로 시저

connection<-odbcDriverConnect("SERVER=server_name;DRIVER={SQL Server};DATABASE=DB;UID=RUser;PWD=****") 
stringEXEC<-"EXEC [dbo].[LongProcedure]" 
data<-sqlQuery(channel = connection,query = stringEXEC,errors = TRUE) 

일부 발언 :

  • 절차가 12 개 다른 절차를 요구 여기

    은 (보여 많은이없는) 코드입니다. 그리고 각각의 12 특정 테이블을 생성 (질문에 여기에 인쇄하는 것은 매우 긴 쿼리입니다)

그리고 아무런 오류가 없습니다.

왜 이런 일이 발생합니까?

+0

무엇이 오류입니까? 오류가 있습니까? 데이터 값이없는 경우 데이터 값은 무엇입니까? 어떤 쿼리와도 관련이 있습니까? 문제를 자세히 설명하기 위해 수정하십시오. –

+0

@Moody_Mudskipper 좋습니다, 감사합니다! –

+0

* 실행 중 *이 발생하는 곳을 신중하게 확인하십시오. 거기에 세미콜론이 있습니까? 'BEGIN ... END'에 전체 호출을 래핑하고 있습니까? SET NO COUNT ON입니까? 실제로 TSQL을 참조해야합니다. 여기에 또는 Github Gists 또는 pastebin으로 메인 저장 proc (다른 12 개가 아닌)을 게시 해보십시오. – Parfait

답변

0

비슷한 문제가 발생했습니다. 현재 스토어드 프로 시저가 아닌 R에서 SELECT 문만 실행할 수 있습니다.

R-Studio에서 작업하는 것을 선호하는 경우 저장 프로 시저의 결과를 먼저 SQL Server의 테이블로 실행 한 다음 R에서 해당 테이블을 사용하는 것이 좋습니다. 그래도 해당 계산 컨텍스트로 확장 성 이점을 얻을 수 있습니다 .

Passing T-SQL select statement to sp_execute_external_script