我是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中。
我看了here和here他们说我应该在sql server中创建一个用户名和密码来远程连接到sql server。 我的问题是:我真的必须在sql server中创建用户名和密码来修复此错误并连接到sql吗?我的意思是还有其他方法来解决这个问题吗?
请帮帮我,谢谢
答案 0 :(得分:3)
我的问题是:我真的需要创建用户名和密码吗? sql server修复此错误并连接到sql?
是的,因为您的计算机不属于Windows域,并且它们之间无法进行Windows可信身份验证(Trusted_Connection=True
)。如果计算机不属于Windows域,则SQL Server无法知道客户端是谁,除非它在连接字符串中提供用户名和密码。