【发布时间】:2018-05-03 04:05:17
【问题描述】:
我知道有很多类似的问题,但我搜索了几个小时,我真的无法让它工作,所以我决定问。
我的app.config 文件:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="PractiseCS"
connectionString="Server=.;Database=PractiseCS;Trusted_Connection=True;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>
在我的代码中,我正在尝试使用这个连接字符串
SqlConnection connection;
string connectionString;
public AllUsers()
{
InitializeComponent();
connectionString =
ConfigurationManager.ConnectionStrings["PractiseCS"].ConnectionString;
}
private void AllUsers_Load(object sender, EventArgs e)
{
DoTheThing();
}
private void DoTheThing()
{
connection = new SqlConnection(connectionString);
connection.Open();
SqlCommand command = new SqlCommand("SELECT * FROM Users", connection);
SqlDataReader read = command.ExecuteReader();
while (read.Read())
{
ListViewItem LV = new ListViewItem();
LV.Text = read["Id"].ToString();
LV.SubItems.Add(read["Username"].ToString());
LV.SubItems.Add(read["Password"].ToString());
listView1.Items.Add(LV);
}
connection.Close();
}
错误:
System.Data.SqlClient.SqlException (0x80131904):建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)
System.ComponentModel.Win32Exception (0x80004005): 系统找不到指定的文件
我希望这个程序也可以在其他计算机上运行,所以我没有写我的本地地址。但我也无法让它以这种方式工作。
【问题讨论】:
-
你的代码没问题。我们看不到的部分是连接字符串,这可能是错误所在。这里有很多变数。 sql 服务器名称。您正在运行的网络。您是否有权访问上述 sql server。
-
您的服务器名称 = .那么,您在运行此 C# 应用程序的机器上是否有本地服务器。 .对应于本地主机。您需要在机器上有一个默认的 SQL Server 实例
-
搜索没问题,但实际故障排除才是解决问题的方法。例如,如果您遵循本指南blogs.msdn.microsoft.com/sql_protocols/2008/04/30/…,那么它在哪一步失败了?
标签: c# sql-server