我通过SQL Server创建了一个.mdf
文件并将其放到本地文件中。我在没有安装SQL Server的计算机上运行我的程序。我还使用了System.Data.SqlClient
命名空间中的类(即SqlConnection
..)
我想与SQL Server创建的.mdf
文件进行某种访问连接?有可能吗?
答案 0 :(得分:21)
我不认为可以在不通过SQL Server引擎的情况下与MDF文件进行交互。您最有可能安装SQL Server Express(如果您选择为Visual Studio添加/删除程序,或者您可以download it separately from here - this is the 2008 R2 With Tools option,则应该是一个选项),附加数据库,然后从您的数据库连接到该引擎程序
许多在线教程会建议您使用User Instances
功能和AttachDbFileName
。我建议你不走这条路,因为它经常导致混乱 - 很多很多用户通过Management Studio连接到数据库的一个实例,与他们的程序不同的实例,然后不理解为什么没有人看到对方做出的更新。不推荐使用User Instances
功能,我更倾向于将数据库正确附加到实例。
在SQL Server 2012中,您可以下载新的SqlLocalDb运行时(you want either the x86 or x64 SqlLocalDB.MSI file from here),这使得此过程更加轻松,因为它是一种免维护的按需SQL Server引擎。但请注意,您的数据库将升级到新的11.0文件格式,这意味着您将无法分离/附加或备份/还原到旧版本(2008,2008 R2等)。我添加了许多troubleshooting techniques for new users starting with SqlLocalDb here。
答案 1 :(得分:6)
您可以尝试使用OrcaMDF这是一个开源项目。
什么是OrcaMDF?
MDF文件的C#解析器。允许您读取表格,元数据和 来自MDF文件的索引,而不将其附加到正在运行的SQL 服务器实例。
(此描述取自项目页面。)
答案 2 :(得分:2)
您需要SQL才能连接到MDF。您可以将其转换为SDF并加载紧凑版(免费)。 http://msdn.microsoft.com/en-us/data/ff687142