【发布时间】:2012-04-28 18:59:54
【问题描述】:
我通过 SQL Server 创建了一个.mdf 文件并将其放入本地文件。我在没有安装 SQL Server 的计算机上运行我的程序。而且我还使用了来自System.Data.SqlClient 命名空间的类(即SqlConnection..)
我想与由 SQL Server 创建的.mdf 文件建立某种访问连接?有可能吗?
【问题讨论】:
标签: c# sql-server mdf
我通过 SQL Server 创建了一个.mdf 文件并将其放入本地文件。我在没有安装 SQL Server 的计算机上运行我的程序。而且我还使用了来自System.Data.SqlClient 命名空间的类(即SqlConnection..)
我想与由 SQL Server 创建的.mdf 文件建立某种访问连接?有可能吗?
【问题讨论】:
标签: c# sql-server mdf
我认为不通过 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。
【讨论】:
您可以尝试使用OrcaMDF,这是一个开源项目。
什么是 OrcaMDF?
用于 MDF 文件的 C# 解析器。允许您读取表格、元数据和 来自 MDF 文件的索引,而不将其附加到正在运行的 SQL 服务器实例。
(此描述取自项目页面)。
【讨论】:
您需要 SQL 才能连接到 MDF。您可以将其转换为 SDF 并加载精简版(免费)。 http://msdn.microsoft.com/en-us/data/ff687142
【讨论】: