통합검색
· 마을서비스란?  · 포럼마을  · 일반마을  · 테마마을  · 마을랭킹  · 활동왕
· 덱스퍼트란?  · TECBOX   · PRSBOX   · 이용안내  
· DEXT제품군  · 솔루션베이  · S/W & ESD 컴포넌트
· 프로그램베이 
· LiveSeminar  · LiveConference
SQL Server 2005 포럼마을 입니다.
  마을등급 SQL Server 2005   이 마을은 포럼마을 입니다이 마을은 자유가입제 마을 입니다 마을소개 페이지로 이동 전입신청
마을촌장촌장 강태현 주민 1446 since 2006-12-29
우리마을 공지사항
질문&답변
강좌&팁
자유게시판
자료실
앨범
개인게시판
마을 게시판
등록된 마을 게시판이
없습니다.
랑데브 게시판
칼럼 게시판
개발자 고충상담
Dev Talk
자유토론방
벼룩시장
재나미 우스개
구인/프로젝트 정보
사람인 채용 게시판
  고객지원 게시판
마이 데브피아
 나의 e-Money 내역
 활동왕 My Page
 스크랩한 게시글보기
 쪽지관리
 주소록관리
 일정관리

 질문&답변 ※ 꼭 답변채택을 해주시어 성의껏 답변해주신 회원님께 감사의 마음을 전하시길 바랍니다.
 원격 테이블 값 함수 호출을 사용할 수 없을까요??  | General Discussions (일반 사항) 2010-06-21 오전 10:30:09
에로틱도롱 번호: 7996 추천:0  / 읽음:1,876

2개의 데이터베이스 서버가 "연결된 서버"로 연결되어 있습니다.

 

[xxx.xxx.xxx.xxx].DB.dbo.TABLE

 

이런식으로 원격 테이블을 사용할 수 있습니다.

 

 

문제는 원격 데이터베이스에 만들어진 테이블 값 함수 인데

 

요놈은 호출이 안되네요..

 

 

 

select * from [61.107.182.8].enk_view.dbo.tfn_erp_attendance()

 

이런식으로 호출하면

 

"원격 테이블 값 함수 호출을 사용할 수 없습니다."

 

이런 메시지가 뜹니다.

 

원격 함수를 호출할 수 있는 방법은 없나요??

이 글에 답변 등록하기
 [답변]링크드 서버를 설정하셔야 합니다. 2010-06-21 오후 12:14:49
오즈본 번호: 7998 추천:0  

링크드 서버를 설정하셔야 합니다.

 

----------------------------------------------------------------------

 

EXEC sp_addlinkedserver 
       @server='ABc',  -- 앞으로 사용할 링크드 서버이름
       @srvproduct = '', -- 공백처리
       @provider = 'SQLNCLI', -- SQL 서버이면 그대로 씁니다. (위의 경우는 2005의 경우 , 2000의 경우 SQLOLEDB를 사용
       @datasrc = '61.107.182.8', -- 아이피.       
       @provstr='',   -- 공백처리.
       @catalog='db명'   -- 특정 카다로그 즉 데이터 베이스 이름 기입
GO

 

EXEC sp_addlinkedsrvlogin 'db명', 'false', NULL, 'sa', '비밀번호'  --> 링크드서버 로그인 정보 설정

 

GO

 

 

이 글에 답변 등록하기
         [답변]링크드 서버를 새로 설정해보았지만 되질 않습니다. 2010-06-21 오후 1:34:54
에로틱도롱 번호: 8000 추천:0  

링크드 서버는 이미 설정하였습니다.

 

가르쳐 주신대로 새로 스크립트 복사 붙이기를 하여 링크드 서버를 설정해보았지만

 

마찬기자 증상입니다.

 

링크드서버의 테이블은 잘 써지지만

 

링크드서버의 테이블값 함수를 쓸려니 에러 메세지가 뜹니다.

 

테이블값 함수는 다음과 같이 만들어졌습니다.

 

 

 

CREATE FUNCTION [dbo].[tfn_ERP_Attendance]

)
RETURNS TABLE
AS
RETURN
(

    .....

)

이 글에 답변 등록하기
 [답변]링크 서버의 함수는 프로시져 호출 방식으로 써야 합니다. 2010-06-24 오전 7:07:18
강성욱 (jevida)  강성욱님께 메시지 보내기강성욱님을 내 주소록에 추가합니다.강성욱님의 개인게시판 가기 번호: 8013 추천:0  

안녕하세요 SQLER에서 활동중인 강성욱 입니다

 

로컬에서는 함수를 호출할떄

 

select dbo.함수() 

되지만

링크서버로의 호출일 경우에는 위와 같이 호출하면 에러 납니다.

 

답은 프로시져 호출방식으로 써야 합니다

예제를 올려드립니다.

 

declare @function int
EXEC @function = [LinkName].dbo.함수()

이 글에 답변 등록하기
목록 보기   지금 보고 계시는 글을 회원님의 my Mblog >> 스크랩에 넣어두고 다음에 바로 보실 수 있습니다.  
회사소개  |   개인정보취급방침  |  제휴문의  |   광고문의  |   E-Mail 무단수집거부  |   고객지원  |   이용안내  |   세금계산서
사업자등록번호 안내: 220-81-90008 / 통신판매업신고번호 제 2010-서울강남-00026호
서울시 강남구 논현동 87-2 미래빌딩 5층 / TEL. 02_6719_6200 / FAX. 02-6499-1910 / 대표: 홍영준
Copyright ⓒ (주) 데브피아. All rights reserved.