繁体   English   中英

使用C#连接到SQL Server 2008 Express数据库

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM