尝试附加自动命名的数据库错误
“尝试为文件C:\ Users \ John \ documents \ visual studio 2010 \ Projects \ PAS \ PAS \ bin \ Debug // PatAddSys.mdf附加自动命名的数据库失败。存在具有相同名称的数据库,或者无法打开指定的文件,或者它位于UNC共享上。“
这有什么不对? 我有正确的路径代码(我认为),但这里发生的错误仍然是我的数据库路径
private string dbPath = Application.StartupPath + "//PatAddSys.mdf";
这是我的数据库的位置
尝试将连接字符串中的User Instance属性设置为true。 您需要将此添加到您的连接字符串:
User Instance=True
还要确保再次检查数据库服务器,因为它可能已包含具有相同名称的数据库。
希望有所帮助。
将当前工作目录和连接字符串更改为正确的解决方案。
选择位于“服务器资源管理器”中的数据库,然后将连接字符串复制为在其属性中准确查看,然后在代码中使用它。
然后对于当前工作目录使用相同的路径而不使用数据库的名称。 解决方案 – > properties – > debug是当前工作目录路径所在的位置。 这适用于2015年的视觉工作室。
我使用我的连接字符串
Private constr As String = "Data Source = (LocalDB)\MSSQLLocalDB;AttachDbFilename=" + Directory.GetCurrentDirectory() + "\DBNAME.mdf;" + "Integrated Security=True;Connect Timeout=30;User Instance=False"
我认为这可能是非常晚了但是
这个字符串给我上面的错误
但是如果添加|数据目录| 在数据库名称之前,它工作正常
为了未来的帮助!
你纠正了它:
private string dbPath = Application.StartupPath + "//PatAddSys.mdf";
但只需要做一步就是使用反斜杠“\”而不是SLASH“/”所以它应该是这样的:
private string dbPath = Application.StartupPath + "\\PatAddSys.mdf";
谢谢这条线救了我很多工作:)
实际上我已经解决了这个问题,但我很容易处理它。 如果您的连接字符串是
connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;"
你需要创建自己的localDB。 首先去命令提示符而不是写
sqllocaldb create MyDatabase
而不是启动数据库
sqllocaldb start MyDatabase
而不是返回VS并将连接字符串更改为
connectionString="Data Source=(LocalDB)\MyDatabase;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;"
用这个:
Path.GetFullPath(yourpath_string)
它会工作