C# 创建链接服务器并从存储过程调用它

C# 创建链接服务器并从存储过程调用它,c#,sql-server,stored-procedures,linked-server,C#,Sql Server,Stored Procedures,Linked Server,我从不同的服务器(mydb_1和mydb_2)获得了2个数据库。所以我想在mydb_1中创建存储过程,它将在mydb_2中的调用表中 为了实现这一点,我在VisualStudio中使用T-SQL在mydb_1中创建了链接服务器。我可以在MicrosoftSQLSManagementStudio中创建此链接服务器,但由于存储过程的原因,我希望在T-SQL中创建它。你们对此有什么建议吗?下面是我基于此创建的代码 web.config中的我的连接字符串: <connectionStrings&g

我从不同的服务器(mydb_1和mydb_2)获得了2个数据库。所以我想在mydb_1中创建存储过程,它将在mydb_2中的调用表中

为了实现这一点,我在VisualStudio中使用T-SQL在mydb_1中创建了链接服务器。我可以在MicrosoftSQLSManagementStudio中创建此链接服务器,但由于存储过程的原因,我希望在T-SQL中创建它。你们对此有什么建议吗?下面是我基于此创建的代码

web.config中的我的连接字符串:

<connectionStrings>
  <add name="mydb_1_connection" connectionString="Data Source=mySUPPORT13;Initial Catalog=mydb_1;User ID=mydb_1_username;Password=mydb_1_password;" providerName="System.Data.SqlClient" />
  <add name="mydb_2_connection" connectionString="Data Source=192.168.1.203;Initial Catalog=mydb_2;User ID=mydb_2_username;Password=mydb_2_password;" providerName="System.Data.SqlClient" />
</connectionStrings>


通过使用上面的代码,我可以创建存储过程,但不能创建链接服务器

运行您创建的存储过程时是否有任何错误?没有,没有任何错误。我的代码是否正确创建了它。我是这里的新手。您已经创建了一个存储过程,它将做3件事:1)链接服务器2)添加登录3)从其他服务器选择数据。这就是你打算做的吗?除非运行该过程,否则不会自动创建链接。我认为你不必每次打电话都这么做,因为你似乎在这里您应该始终为您使用的任何
varchar
变量和参数提供长度!在这里,通过定义
@param varchar
,您只得到一个字符的长度-可能不是您想要的,对吧??始终在
varchar
定义中定义显式长度!运行您创建的存储过程时是否有任何错误?没有,没有任何错误。我的代码是否正确创建了它。我是这里的新手。您已经创建了一个存储过程,它将做3件事:1)链接服务器2)添加登录3)从其他服务器选择数据。这就是你打算做的吗?除非运行该过程,否则不会自动创建链接。我认为你不必每次打电话都这么做,因为你似乎在这里您应该始终为您使用的任何
varchar
变量和参数提供长度!在这里,通过定义
@param varchar
,您只得到一个字符的长度-可能不是您想要的,对吧??始终在
varchar
定义中定义显式长度!
<connectionStrings>
  <add name="mydb_1_connection" connectionString="Data Source=mySUPPORT13;Initial Catalog=mydb_1;User ID=mydb_1_username;Password=mydb_1_password;" providerName="System.Data.SqlClient" />
  <add name="mydb_2_connection" connectionString="Data Source=192.168.1.203;Initial Catalog=mydb_2;User ID=mydb_2_username;Password=mydb_2_password;" providerName="System.Data.SqlClient" />
</connectionStrings>