C# SQL 2008-链接服务器
我必须用代码读取链接服务器中的表,但我收到以下消息: 所以,我想我已经尽力了。为什么我的代码不起作用 这是连接和查询代码的一部分C# SQL 2008-链接服务器,c#,sql-server-2008,C#,Sql Server 2008,我必须用代码读取链接服务器中的表,但我收到以下消息: 所以,我想我已经尽力了。为什么我的代码不起作用 这是连接和查询代码的一部分 public ObservableCollection<Model_Societa> CaricaComboSocieta(string sServer, string sDbSorgente, string StrConnectionString) //Popola combo SOCIETA { StrConnectionString =
public ObservableCollection<Model_Societa> CaricaComboSocieta(string sServer, string sDbSorgente, string StrConnectionString) //Popola combo SOCIETA
{
StrConnectionString = "Data Source=HP-5CD6071;Initial Catalog=DB_TEST;User ID=MyUser;Password=MyPassword;";
string Sql = "SELECT Soc_Cod, Sc_Rac FROM [HP-5CD6071].[DB_TEST].[dbo].[P00_So]";
ObservableCollection<Model_Soc> res = new ObservableCollection<Model_Soc>();
try
{
using (SqlConnection connection = new SqlConnection(StrConnectionString))
{
connection.Open();
SqlCommand command = new SqlCommand(Sql, connection);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
}
....
我的服务器链接器位于“sys.server”中
更改与基本服务器的主连接。您的查询是正确的,但您正在尝试直接连接到链接的服务器:
StrConnectionString = "Data Source=HP-5CD6071... <--This should be your main server
您是否尝试在SQL Mgmt Studio中运行查询?它有用吗?如果是这样,为什么不创建一个存储过程并从代码中调用它呢?HP-5CD6071或HP-5CD6071CYP?嗨,Aaron,你能告诉我正确的连接字符串吗?@Alan392这取决于你想做什么。现在,您的连接字符串希望直接连接到链接的服务器。例如,HP-5CD6071是链接的服务器,也是您要连接的服务器。这意味着,您根本不使用链接服务器,您只是直接连接到
HP-5CD6071
。如果出于权限或任何原因想使用链接服务器,请将连接字符串的数据源更改为源服务器名称,也就是您在上面设置链接服务器的名称。它看起来像是“RO…”之类的。你在上面把它擦掉了。将其用于连接字符串。很抱歉,我如何在我的stringconnection中连接到链接服务器?@Alan392您的查询中已经有了它,来自[HP-5CD6071]。[DB\u TEST]。[dbo]。[P00\u So]
。这就是你需要做的。
StrConnectionString = "Data Source=HP-5CD6071... <--This should be your main server
SELECT Soc_Cod, Sc_Rac FROM [HP-5CD6071].[DB_TEST].[dbo].[P00_So]