Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQL 2008-链接服务器_C#_Sql Server 2008 - Fatal编程技术网

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]