是否可以在没有SQL Server的情况下访问.mdf数据库?

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

我想与SQL Server创建的.mdf文件进行某种访问连接? 可能吗 ?

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

许多在线教程将建议您使用User Instancesfunction和AttachDbFileName 。 我建议你不要走这条路,因为它经常导致混乱 – 很多很多用户通过Management Studio连接到数据库的一个实例,与他们的程序不同的实例,然后不明白为什么一个人看不到另一方所做的更新。 不推荐使用User Instancesfunction,我更倾向于将数据库正确附加到实例。

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

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

什么是OrcaMDF?

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

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

作者的博客

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