0

我有一个单用户 Win Forms 应用程序,它通过 ADO.NET 使用 SQL Server Express 数据库。我想向我的应用程序添加更多内容,但是通过使用 Linq to Sql(在我学习 Linq to Sql 的同时)。我无法同时在两个地方看到数据库。我可以在使用 ADO 的原始代码中看到它,或者我可以在使用 Linq to SQL 的新代码中看到它。用一种方法使用数据会使另一种方法拒绝看到它。以前,我通过将数据库的包含目录以及数据库复制到另一个目录名称并在使用 ADO 获取它之前使用 L2S 获取它来启用新的 Linq to SQL 代码来查看它。这让我看到我的 Linq to SQL 代码有效(万岁!)。但是,现在我不能使用带有 ADO 的原始代码的新数据库,因为“访问被拒绝(5)。”。我究竟做错了什么?我如何让它分享?

编辑:删除了关于在 SQL Server 中附加的问题部分;那部分问题是我需要以管理员(Vista)身份运行 SQL Server,现在它附加了。/编辑

现在我正在使用 L2S,当我尝试在 ADO.NET 中打开连接时,我得到“无法打开物理文件“C:\PRICINGtests\PRICING.MDF”。操作系统错误 5:“5(访问被拒绝.)"。尝试为文件 C:\PRICINGtests\PRICING.MDF 附加自动命名的数据库失败。存在同名的数据库,或者无法打开指定的文件,或者它位于 UNC 共享上。"

4

1 回答 1

0

你这里有两个单独的连接字符串吗?我想你有并且他们都试图将具有相同数据库名称的 mdf 附加到你的 sql 服务器上,这是不允许的。

您是否 ADO 和 Linq 代码使用相同的单个连接字符串,它们都将使用相同的数据库。

于 2009-06-12T10:26:26.343 回答