2013-12-10 2 views
4

나는 이것을 알아 내려고 노력하면서 하루 종일을 보냈고 도움이 될 준비가되었습니다.임시 테이블에 저장하기 위해 Openrowset 내에서 저장 프로 시저를 실행하십시오.

다음 코드를 실행하려고합니다. (명백한 이유로 사용자와 패스가 빠져 있음) SSMS에서 쿼리를 실행 중이고 저장 프로 시저의 내용을 가져 와서 임시 테이블에 저장하려고합니다. 내 쿼리를 수정하여 작동되도록 할 수 있습니까?

구성 옵션 '쇼 고급 옵션'1. 실행 RECONFIGURE 문 1에서 변경 설치 : :)

sp_configure 'Show Advanced Options', 1 
GO 
RECONFIGURE 
GO 
sp_configure 'Ad Hoc Distributed Queries', 1 
GO 
RECONFIGURE 
GO 

SELECT * INTO #MyTempTable FROM OPENROWSET('SQLNCLI', 'Server=SQL01\SQL2008R2;Database=ExtData; 
Uid=xxxx;Pwd=xxxx', 
    'EXEC sp_MonthlyInventoryStock') 

이것은 내가 얻을 오류입니다.
구성 옵션 'Ad Hoc Distributed Queries'가 1에서 1로 변경되었습니다. 설치하려면 RECONFIGURE 문을 실행하십시오.
"(null)"링크 된 서버에 대한 OLE DB 공급자 "SQLNCLI10"이 (가) "유효하지 않은 권한 지정"메시지를 반환했습니다.
연결된 서버 "(null)"에 대한 OLE DB 공급자 "SQLNCLI10"에서 "잘못된 연결 문자열 특성"이라는 메시지가 반환되었습니다.

메시지 7399, 수준 16, 상태 1, 줄 3
"(null)"연결된 서버의 OLE DB 공급자 "SQLNCLI10"에서 오류가 발생했습니다. 인증 실패.
메시지 수준 7303, 수준 16, 수준 1,
연결된 서버 "(null)"OLE DB 공급자 "SQLNCLI10"의 데이터 원본 개체를 초기화 할 수 없습니다.

+0

미안 하나를 작업

SELECT * FROM OPENROWSET ('SQLNCLI','Server=(local); TRUSTED_CONNECTION=YES;' ,'exec master.dbo.sp_who') 

를 ... 그것은 서버입니다. 그냥 바꿨어. 같은 오류. – Kevin

+0

서버 이름 대신 IP 주소를 사용하면 동일한 오류가 발생합니다. – Kevin

+1

어리석은 질문이지만 SSMS를 사용하여 원격 서버에 연결을 시도 했습니까? –

답변

10

Mr. Reband가 질문에 대답했습니다. 연결 문자열은 모두 같은 줄에 있어야합니다.

또한 'SET FMTONLY OFF; S.P. NOCOUNT를 ON으로 설정하십시오.

최종 답은 (연결 문자열은 모두 한 줄에) : 내 경우

sp_configure 'Show Advanced Options', 1 
GO 
RECONFIGURE 
GO 
sp_configure 'Ad Hoc Distributed Queries', 1 
GO 
RECONFIGURE 
GO 

SELECT * INTO #MyTempTable 
FROM OPENROWSET('SQLNCLI' 
       ,'Server=SQL01\SQL2008R2;Database=ExtData;Uid=xxxx;Pwd=xxxx' 
       ,'SET FMTONLY OFF;SET NOCOUNT ON;EXEC sp_MonthlyInventoryStock') 
GO 
0

는 문제는 연결 문자열에 여분의 공간에 의해 발생합니다.

(로컬); 공간

작동하지

TRUSTED : 오타 ...

SELECT * 
FROM OPENROWSET ('SQLNCLI','Server=(local);TRUSTED_CONNECTION=YES;' 
,'exec master.dbo.sp_who') 
관련 문제