我正在尝试使用以下代码从数据库中检索数据:
public partial class populate : System.Web.UI.Page
{
SqlConnection scon = new SqlConnection("Data Source = localhost; Integrated Security = true; Initial Catalog = populate");
protected void Page_Load(object sender, EventArgs e) {
StringBuilder htmlString = new StringBuilder();
if(!IsPostBack)
{
using (SqlCommand scmd = new SqlCommand())
{
scmd.Connection = scon;
scmd.CommandType = CommandType.Text;
scmd.CommandText = "SELECT * FROM populate";
scon.Open();
SqlDataReader articleReader = scmd.ExecuteReader();
htmlString.Append("'Populate page:'");
if (articleReader.HasRows)
{
while (articleReader.Read())
{
htmlString.Append(articleReader["dateTime"]);
htmlString.Append(articleReader["firstName"]);
htmlString.Append(articleReader["lastName"]);
htmlString.Append(articleReader["address"]);
htmlString.Append(articleReader["details"]);
}
populatePlaceHolder.Controls.Add(new Literal { Text = htmlString.ToString() });
articleReader.Close();
articleReader.Dispose();
}
}
}
}
}
它引发了一个错误:
系统找不到指定的文件
我想知道是否有人可以告诉我错误的位置或指导我通过调试。提前谢谢。
(更新):更具体地说,scon.Open()导致错误:
Message =建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)
这看起来很容易修复,但我对数据库不太满意。任何帮助将不胜感激。
答案 0 :(得分:3)
我不知道你安装了什么SQL Server版本,以及你称它为什么(作为实例名称)......
转到Start > SQL Server > Configuration Tools > Configuration Manager
;在SQL Server Services
下,搜索SQL Server
服务 - 这是什么名字?
如果它是SQL Server (SQLEXPRESS)
,则表示您拥有Express版本,实例名称为SQLEXPRESS
- 将您的连接字符串更改为:
Data Source=.\SQLEXPRESS;Initial Catalog=populate;Integrated Security=true;
如果它是SQL Server (MSSQLSERVER)
那么你应该没问题 - 你有一个未命名的默认实例....