我正在开发一个与 SQL Server 2005 创建的 Sql Compact 数据库文件交互的 Windows 窗体应用程序。该应用程序最初是在 Visual Studio 2005 中开发的,但最近已转换为 Visual Studio 2008 解决方案。
关于 Sql Compact,我们确保所有引用仍然设置为处理 2005 版 Sql Compact 而不是 Sql Compact 3.5 的程序集。完成此操作后,应用程序仍会正常运行 - 它仍将与 Compact 数据库交互、执行同步操作等。
但是,我今天刚刚发现,Visual Studio 工具(例如 DataSet Designer)不能很好地处理 3.5 之前版本的 Sql Compact 数据库文件。如果我转到New Connection...向导,则唯一的 Sql Compact 数据源/数据提供程序用于 Sql Compact 3.5。我假设 Visual Studio 2008 默认不包括旧版本 Sql Compact 的数据提供程序。
有没有办法可以将旧版本的 Sql Compact 添加到连接向导的“数据源”列表中?要确切了解我所指的内容,请单击 Visual Studio 2008 的工具菜单,然后单击连接到数据库...在出现的窗口中,单击数据源设置旁边的更改...。从这个对话框中,我无法选择 Sql Compact 的早期版本——只有 3.5 可用。
也许我需要在某处添加程序集引用?或者将一些文件从我的 Visual Studio 2005 目录复制到 2008?我认为 Visual Studio 2008 必须有一种方法才能与 Sql Server 2005 中的 Sql Compact 数据库进行交互。
为了提供更多细节,当我转到我的数据集时,我发现了这个问题,右键单击并尝试添加一个TableAdapter。出现的第一个屏幕显示“选择您的数据连接”。如果我将其设置为我们一直使用的 Sql Compact 连接,则现在单击Next >按钮时会出现以下错误:
无法打开与数据库的连接
“所选数据库是使用早期版本的 SQL Server Compact 创建的,需要升级到 SQL Server Compact 3.5 才能打开或测试连接。通过创建新的数据连接并完成“添加连接”对话框来升级数据库。 "
检查连接并重试。
这里唯一的问题是我们仍然使用 Sql Server 2005,如果我的理解是正确的,它不会产生与 Sql Compact 3.5 兼容的订阅文件。如果我在这个假设中错了,请纠正我。
非常感谢您提供的任何帮助。谢谢你。