簡體   English   中英

SQL錯誤:26-查找指定的服務器/實例時出錯

[英]SQL error:26 - Error Locating Server/Instance Specified

我試圖運行一個從遠程sql服務器獲取數據的程序,該程序適用於另一個遠程站點的同事,但是當我運行該程序時,調試器說Sql_Reader返回null。

我可以ping並連接到遠程sql服務器。 根據http://blogs.msdn.com/b/sql_protocols/archive/2007/05/13/sql-network-interfaces-error-26-error-locating- server-instance-specified.aspx但是,當我運行程序以從sql服務器獲取數據時,出現錯誤並指出找不到或無法訪問遠程服務器。

我檢查了每個錯誤的連接字符串:26-指定服務器/實例時出錯。 (無法從主機服務器連接到本地Db)

這是GetConnectionString方法中的連接字符串。

    return @"Data Source= 2.2.2.2\SQLEXPRESS; Persist Security Info=False;User ID=myusername;Password=mypassword;Initial Catalog=SomeDataStructure;";

在具有sql_Connection.Open()的行上發生以下錯誤:

SqlException未處理。 建立與SQL Server的連接時發生與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱正確,並且已將SQL Server配置為允許遠程連接。 (提供者:SQL網絡接口,錯誤:26-指定服務器/實例時出錯)

    // Body of the method
    str_Query = "SELECT " + dict_SearchData["FieldName"] + " FROM " + dict_SearchData["Table"] +
            " WHERE " + dict_SearchData["IndexColumn"] + " = '" + dict_SearchData["IndexRow"] + "';";
        using (SqlConnection sql_Connection = new SqlConnection(dict_SearchData["ConnectionString"]))
        {
            SqlCommand sql_Command = new SqlCommand(str_Query, sql_Connection);
            sql_Connection.Open();
            SqlDataReader sql_Reader = sql_Command.ExecuteReader();
            try
            {
                sql_Reader.Read();
                str_FieldValue = sql_Reader[0].ToString();
            }
            catch (System.InvalidOperationException)
            {
                //ignore the exception 
            }
            finally
            {
                // Always call Close when done reading. 
                sql_Reader.Close();
            }
        }

我將端口號添加到連接字符串中,並且能夠使用該應用程序遠程連接到數據庫。 我在逗號后面的IP地址后面添加了端口號。

return @"Data Source= 2.2.2.2,1433\SQLEXPRESS; Persist Security Info=False;User ID=myusername;Password=mypassword;Initial Catalog=SomeDataStructure;";

看來您的連接字符串可能包含多余的字符或格式錯誤。 嘗試采取額外的步驟,將字符串放入本地字符串變量,然后將其分配給ConnectionString對象。 這樣,您可以單步執行代碼並離散檢查字符串值。 另外,更常見的習慣是指定服務器名稱而不是IP地址,盡管我認為兩者都應該起作用。 同樣,反斜杠可能會產生問題,可能必須轉義該字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM