0

我正在使用 Visual Studio 2008 开发 C# windows 程序。通常,我在学校工作,直接在我的 USB 驱动器上工作。但是,当我在家中复制硬盘上的文件夹时,每当我尝试写入数据库时​​,都会出现 sql 异常。它在 conn.Open() 处未处理;线。这是未处理的异常

数据库 'L:\system\project\the_project\the_project\bin\Debug\PatientMonitoringDatabase.mdf' 已经存在。选择不同的数据库名称。无法将文件“C:\Documents and Settings\Administrator\My Documents\system\project\the_project\the_project\bin\Debug\PatientMonitoringDatabase.mdf”附加为数据库“PatientMonitoringDatabase”。

很奇怪,因为我的连接字符串是 |DataDirectory|,所以它应该可以在任何驱动器上工作......这是我的连接字符串:

string connStr = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\PatientMonitoringDatabase.mdf; " +
                "Initial Catalog=PatientMonitoringDatabase; " +
                "Integrated Security=True";
4

3 回答 3

1

我认为这里的抱怨是您的本地 SQL Server Express 安装已经连接并运行了 PatientMonitoringDatabase。

localhost使用 SQL Server Management Studio Express连接(如果未安装,请在此处下载)并删除/分离现有PatientMonitoringDatabase数据库。无论是持久数据库还是仅在正在运行的应用程序中处于活动状态,您都不能同时将 2 个同名的数据库附加到 SQL Server 实例。

于 2010-03-07T00:35:10.187 回答
0

问题解决了。幸运的是那个。我通过浏览微软论坛得到了提示。提示引导我打开我的“SQL Server 配置管理器”,我不得不对“SQL Server (SQLEXPRESS)”做一些事情。所以我双击它,并将“内置帐户”从“网络服务”更改为“本地系统”。现在它起作用了……我猜我很幸运……

但是,您必须分离数据库。所以为此,谢谢尼克·克雷弗

于 2010-03-12T04:42:19.963 回答
0

The second exception you get because the SQL Server Express instance doesn't have permission to open the database file. What are the permissions on the file, and what is SQL Server running under?

于 2010-03-09T02:16:15.133 回答