簡體   English   中英

為什么我無法通過C#應用程序連接到遠程SQL服務器?

[英]Why I cannot connect to remote SQL server via C# application?

我是C#的新手,我正在使用Windows窗體。

我有2台計算機通過以太網交叉電纜(沒有使用域)連接在一起,並且它們成功通信。 PC1有Windows 7,它托管SQL服務器(192.168.10.1),PC2有C#應用程序連接到SQL服務器,C#應用程序如下:

namespace Remote_DB_Connection
{
    public partial class Form1 : Form
    {
        SqlConnection MyConnection = new SqlConnection(@"Data Source=192.168.10.1\COFFEESHOP-PC,1433;Initial Catalog=mydb1;Trusted_Connection=True");

        SqlCommand MyCommand = new SqlCommand();
        DataTable DataTable = new DataTable();
        SqlDataAdapter Sql_Data_Adapter = new SqlDataAdapter();

        public Form1()
        {
            InitializeComponent();

            MyConnection.Open();
            MyCommand.CommandText = "SELECT * FROM Table1";
            MyCommand.Connection = MyConnection;
            Sql_Data_Adapter.SelectCommand = MyCommand;
            Sql_Data_Adapter.Fill(DataTable);

            button1.Text = Convert.ToString(DataTable.Rows[0]["Type"]);
            button2.Text = Convert.ToString(DataTable.Rows[1]["Type"]);
            button3.Text = Convert.ToString(DataTable.Rows[2]["Type"]);

            MyCommand.Parameters.Clear();
            Sql_Data_Adapter.Dispose();

            MyConnection.Close();
        }
    }
}

現在,當我運行應用程序時,它會拋出此錯誤:“登錄來自不受信任的域,不能與Windows身份驗證一起使用”。 在我使用Windows身份驗證登錄的sql server中。

我看了一下 這里他們說我應該在sql server中創建一個用戶名和密碼來遠程連接到sql server。 我的問題是:我真的必須在sql server中創建用戶名和密碼來修復此錯誤並連接到sql嗎? 我的意思是還有其他方法來解決這個問題嗎?

請幫幫我,謝謝

我的問題是:我真的必須在sql server中創建用戶名和密碼來修復此錯誤並連接到sql嗎?

是的,因為您的計算機不屬於Windows域,並且它們之間無法進行Windows可信身份驗證( Trusted_Connection=True )。 如果計算機不屬於Windows域,則SQL Server無法知道客戶端是誰,除非它在連接字符串中提供用戶名和密碼。

暫無
暫無

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

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