[英]Connect with SQL Server 2008 Express using Winforms (C#)
[英]Connect to SQL Server 2008 Express database using C#
我正在开发一个Winforms应用程序,其中使用SQL Server 2008 Express Edition作为后端。 但我得到了错误:
附加信息:尝试为文件D:\\ Hardik \\ Hardik \\ dotnet \\ TestApplication \\ TestApplication \\ bin \\ Debug \\ MyDatabase.mdf附加自动命名的数据库失败。 存在具有相同名称的数据库,或者无法打开指定的文件,或者该数据库位于UNC共享上。
我的代码是:
private void Form1_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "Select * From MyTable";
cmd.CommandType = CommandType.Text;
da = new SqlDataAdapter();
da.SelectCommand = cmd;
dt = new DataTable();
ds = new DataSet();
da.Fill(ds, "Login");
dt = ds.Tables[0];
dataGridView1.DataSource = dt;
}
而我的app.config
文件是:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="MyConnection"
connectionString="Server=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Integrated Security=True; User Instance=True"
providerName="System.Data.Client"/>
</connectionStrings>
</configuration>
我哪里错了?
使用双斜杠代替单斜杠。
UNC路径在计算机名称之前使用双斜杠或反斜杠。
<connectionStrings>
<add name="MyConnection" connectionString="Server=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\MyDatabase.mdf;Integrated Security=True; User Instance=True" providerName="System.Data.Client"/>
</connectionStrings>
实例失败当您收到错误“实例失败”时,这可能是您的SQL Server实例出现的错误。
确保您的SQL Server实例(MSSQLSERVER)正在运行,您可以在其中签入:服务列表。 要进入服务列表:打开运行对话框,然后输入:“ services.msc”(不带引号),然后按Enter。 这将带您进入服务管理控制台,您可以在其中检查您的实例是否正在运行。
如果问题仍然存在,请尝试使用:数据源=。\\ SQLEXPRESS。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.