19

.mdf通过 SQL Server 创建了一个文件并将其放入本地文件。我在没有安装 SQL Server 的计算机上运行我的程序。而且我还使用了System.Data.SqlClient命名空间中的类(即SqlConnection..)

.mdf我想与SQL Server 创建的文件建立某种访问连接?是否可以 ?

4

3 回答 3

24

我认为不通过 SQL Server 引擎就不可能与 MDF 文件进行交互。您很可能会安装 SQL Server Express(如果您选择通过 Visual Studio 的添加/删除程序,这应该是一个选项,或者您可以从此处单独下载它 - 这是 2008 R2 With Tools 选项),附加您的数据库,然后从您的程序连接到该引擎。

许多在线教程会建议您使用该User Instances功能和AttachDbFileName. 我建议你不要走那条路,因为它经常会导致混乱——很多很多用户通过 Management Studio 连接到数据库的一个实例,与他们的程序不同的实例,然后不明白为什么看不到对方所做的更新。这些User Instances功能已弃用,我非常喜欢将数据库正确附加到实例。

在 SQL Server 2012 中,您可以下载新的SqlLocalDb运行时(您需要从此处获取 x86 或 x64 SqlLocalDB.MSI 文件),这使得此过程更加容易,因为它是一个无需维护的按需 SQL Server 引擎。但是请注意,您的数据库将升级到新的 11.0 文件格式,这意味着您将无法分离/附加或备份/恢复到旧版本(2008、2008 R2 等)。我在这里为新用户添加了许多从 SqlLocalDb 开始的故障排除技术

于 2012-04-28T19:05:28.730 回答
8

您可以尝试使用OrcaMDF,它是一个开源项目。

什么是 OrcaMDF?

用于 MDF 文件的 AC# 解析器。允许您从 MDF 文件中读取表、元数据和索引,而无需将其附加到正在运行的 SQL Server 实例。

(此描述取自项目页面)。

作者的博客

于 2012-04-28T20:18:21.487 回答
2

您需要 SQL 才能连接到 MDF。您可以将其转换为 SDF 并加载精简版(免费)。 http://msdn.microsoft.com/en-us/data/ff687142

于 2012-04-28T19:06:14.237 回答