为什么我无法通过C#应用程序连接到远程SQL服务器?

时间:2016-05-07 11:40:08

标签: c# sql-server

我是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中。

我看了herehere他们说我应该在sql server中创建一个用户名和密码来远程连接到sql server。 我的问题是:我真的必须在sql server中创建用户名和密码来修复此错误并连接到sql吗?我的意思是还有其他方法来解决这个问题吗?

请帮帮我,谢谢

1 个答案:

答案 0 :(得分:3)

  

我的问题是:我真的需要创建用户名和密码吗?   sql server修复此错误并连接到sql?

是的,因为您的计算机不属于Windows域,并且它们之间无法进行Windows可信身份验证(Trusted_Connection=True)。如果计算机不属于Windows域,则SQL Server无法知道客户端是谁,除非它在连接字符串中提供用户名和密码。

相关问题