2009-07-02 3 views
0

프로그래밍 방식으로 SQL Server 2005에서 C#으로 DBLink를 만들 수 있습니까?프로그래밍 방식으로 SQL Server 2005에서 C#으로 DBLink를 만들 수 있습니까?

데이터베이스 A와 B가 있다고 가정합니다. B에 연결하기 위해 A에서 DB 링크를 만들고 싶습니다. 사용자로부터 B 데이터베이스 정보를 캡처하고 데이터베이스 A에 DBLink를 만듭니다. C# .Net 버전 2.0에서 가능합니다. ?

답변

2

당신은 sp_addlinkedserver를 함께 연결된 서버를 추가 할 수 있습니다 : C#을에서

EXEC sp_addlinkedserver 
    @server = 'OracleHost', 
    @srvproduct = 'Oracle', 
    @provider = 'MSDAORA', 
    @datasrc = 'MyServer' 

, 당신은하는 SqlCommand에서이 쿼리를 저장하고,() 데이터베이스에 그것을 실행하기는 ExecuteNonQuery를 호출 할 수 있습니다.

1

은 당신이 할 싶어하는 것은이 작업을 수행 저장 프로 시저를 만든 다음 C#

에서 호출되는 다음 저장 프로 시저 확인 :

Create PROCEDURE [dbo].[LinkMyServer] 

AS 
BEGIN 
    -- SET NOCOUNT ON added to prevent extra result sets from 
    -- interfering with SELECT statements. 
    SET NOCOUNT ON; 

EXEC sp_addlinkedserver @server = N'LinkName', 
@srvproduct = N' ', 
@provider = N'SQLOLEDB', 
@datasrc = N'some.domain.or.ip.com', 
@catalog = N'database_name' 

EXEC sp_addlinkedsrvlogin N'LinkName', false, N'ServerDomain\Administrator', N'user_on_remotedb', N'password_on_remote_db' 

END 

이제 원격 DB는 로컬 사용자에 연결되었습니다 관리자.

지금 C#에서 당신은 그냥하는 SqlCommand 및 저장 프로 시저에 대한 설정 유형을 확인하고 비 쿼리 :

ServerDomain \ 관리자는 단지 'DBO'와 같은 SQL 사용자 수를 실행합니다.

희망이 도움이되었습니다.

관련 문제