是否可以在C#中以编程方式在SQL server 2005中创建数据库链接?

是否可以在C#中以编程方式在SQL server 2005中创建数据库链接?,c#,.net,sql-server,.net-2.0,dblink,C#,.net,Sql Server,.net 2.0,Dblink,是否可以在C#中以编程方式在SQL server 2005中创建数据库链接 假设我有数据库A和B。我想在A中创建一个DBlink来连接B。我将从用户处捕获B数据库信息,并在数据库A中创建DBlink。在C#.Net 2.0版中是否可以这样做?您可以使用sp#u addlinkedserver添加一个链接服务器: EXEC sp_addlinkedserver @server = 'OracleHost', @srvproduct = 'Oracle', @provider

是否可以在C#中以编程方式在SQL server 2005中创建数据库链接


假设我有数据库A和B。我想在A中创建一个DBlink来连接B。我将从用户处捕获B数据库信息,并在数据库A中创建DBlink。在C#.Net 2.0版中是否可以这样做?

您可以使用sp#u addlinkedserver添加一个链接服务器:

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

从C#,您可以将此查询存储在SqlCommand中,并调用ExecuteOnQuery()在数据库上执行它。

您可以使用sp_addlinkedserver添加链接服务器:

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

从C#,您可以将此查询存储在SqlCommand中,并调用ExecuteOnQuery()在数据库上执行它。

您要做的是创建一个执行此操作的存储过程,然后从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
现在,远程数据库已链接到本地用户管理员

现在在C#中,您只需发出一个SqlCommand并将type设置为存储过程,然后执行一个非查询:)

ServerDomain\Administrator也可以是类似“dbo”的sql用户


希望这能有所帮助。

您要做的是创建一个存储过程来执行此操作,然后从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
现在,远程数据库已链接到本地用户管理员

现在在C#中,您只需发出一个SqlCommand并将type设置为存储过程,然后执行一个非查询:)

ServerDomain\Administrator也可以是类似“dbo”的sql用户

希望这有帮助