c# - SQL Server EXPRESS:错误:26 - 安装后指定的服务器/实例错误定位
问题描述
(C#/.Net Framework4.0/VS2017)。使用 sqlcon expressconnection 数据库制作了 ac# windows 窗体,但不确定如何为其他客户端创建设置...
我已经制作了一个 Windows 窗体应用程序,其中包含一个带有 sqlconnection 的数据库。我使用高级安装程序来创建设置,因此我可以轻松地将 .mdf 和 .idf 文件与 prerequsites 一起放置。
添加连接字符串为:
public static class DAL
{
public static DataTable ExecSP(string spName, List<SqlParameter> sqlParams = null)
{
string strConnect = "Server=PC\\SQLEXPRESS;Database=MyLoginApp;Trusted_Connection=True;";
SqlConnection conn = new SqlConnection();
DataTable dt = new DataTable();
try
{
//Connect to the database
conn = new SqlConnection(strConnect);
conn.Open();
//Build an sql command / query
SqlCommand cmd = new SqlCommand(spName, conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(sqlParams.ToArray());
//Execute command
SqlCommand command = conn.CreateCommand();
SqlDataReader dr = cmd.ExecuteReader();
//fill datatable with the results
dt.Load(dr);
}
catch (Exception ex)
{
throw ex;
}
finally
{
//No matter what happends this will run
conn.Close();
}
return dt;
}
}
当它尝试执行以下代码时:
private void btnLogin_Click(object sender, EventArgs e)
{
List<SqlParameter> sqlParams = new List<SqlParameter>();
sqlParams.Add(new SqlParameter("Username", TxtUsername.Text));
sqlParams.Add(new SqlParameter("Password", txtPassword.Text));
DataTable dtLoginResults = DAL.ExecSP("ValidateLogin", sqlParams);
string eUser;
string ePass;
eUser = TxtUsername.Text;
ePass = txtPassword.Text;
if (dtLoginResults.Rows.Count == 1)
{
//We know login is valid
string user = dtLoginResults.Rows[0]["Username"].ToString();
MessageBox.Show(user + " Berhasil Masuk!");
this.Hide();
ListMeja lm = new ListMeja();
lm.ShowDialog();
}
else
{
//invalid login
MessageBox.Show("Password Salah");
}
}
运行 .exe 程序后在其他客户端出现错误弹出窗口
您的应用程序中发生了未处理的异常。如果单击继续,应用程序将忽略此错误并尝试继续。与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。无法访问该服务器。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)。
我在这里做错了什么?
解决方案
请尝试从您的系统使用 SSMS 连接 SQL Server。成功登录后请 string strConnect = "Server=PC\\SQLEXPRESS;Database=MyLoginApp;Trusted_Connection=True;";
根据 SSMS Connected 编辑您的连接字符串。
推荐阅读
- c++ - 在 macOS 上用 C++ 构建的未定义符号
- c# - C#.NET 中的模拟 - 无法通过 LogonType 4 或 5 模拟
- python - 优化python中的蛮力算法
- python - 在 Tkinter Python 中将文本放在变量后面
- java - 如何使用 AccessLevel.NONE 设置 JPA 属性以进行单元测试?
- python - 如何使用 Python 访问不同/远程 Windows 机器?
- c++ - %lf 说明符在代码块 IDE 中为双整数提供了错误的输出,而我在 IDE 中添加了“aka C++17”标志
- android - 减少 imageView 和 TextView 之间的距离
- javascript - React 在 Spring 应用程序中不渲染任何东西(使用 frontend-maven-plugin)
- python - 编写 PDF 时添加页码