【问题标题】:Database Connection error数据库连接错误
【发布时间】:2013-03-08 07:54:13
【问题描述】:

我有 win 应用程序,当我想将数据库连接到我的应用程序时出现此错误 错误:

尝试为文件 C:\Users\Aren\Desktop\DB\REGISTRATION.mdf 附加自动命名的数据库失败。存在同名数据库,或指定文件无法打开,或位于 UNC 共享上。

public class DALBase
{
    protected SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\\Users\\Aren\\Desktop\\DB\\REGISTRATION.mdf;integrated Security=true ; User Instance=True");
    protected SqlCommand com = new SqlCommand();
    protected SqlDataAdapter da = new SqlDataAdapter();
    protected DataSet ds = new DataSet();

}

public DataSet GetStudent(string filter)
    {

        DataSet dset = new DataSet();
        using (SqlCommand cmd = new SqlCommand())
        {
            string cmdstring = string.Format("Select * from {0}"
               , Common.Data.Student.Table_Name);


            if (!string.IsNullOrEmpty(filter)) cmdstring += " where " + filter;


            cmd.CommandText = cmdstring;
            cmd.Connection = this.con;
            cmd.Connection.Open();
            cmd.CommandText = cmdstring;
            cmd.Connection = this.con;
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
            adapter.Fill(dset, Common.Data.Student.Table_Name);
            return dset;
        }
    }

注意:另外,我的解决方案中有 3 个项目,DALBASE 和 GETSTUDENT 方法在一个项目中,我从另一个项目中调用它们来为我获取数据。

【问题讨论】:

  • 我不知道,但我对在连接字符串中同时使用单斜杠和双斜杠感到困惑。 Windows 路径中是否需要 \\?

标签: sql winforms connection


【解决方案1】:

我相信我过去曾遇到过这个问题。在我的情况下,我在 Visual Studio 中加载了一个应用程序,该应用程序在运行时会加载数据库并附加到 SQL Server。不知何故,当我关闭应用程序时,它并没有从 SQL SERVER 中分离数据库,下次我运行应用程序时,它会抱怨类似的消息(如果不是相同的消息)。

如果您安装了 SSMS,请打开 .\SQLEXPRESS 实例并查看您是否附加了 Registration*.mdf 文件。或者,如果您没有 SSMS,请打开命令行并输入...

sqlcmd -S .\SQLEXPRESS -Q "select name from sys.databases"

这将显示您在该实例上附加/在线的所有数据库。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2012-01-21
    • 2012-10-29
    • 2018-05-23
    • 2012-09-29
    • 2014-10-04
    • 2013-08-28
    • 2014-11-01
    相关资源
    最近更新 更多