Visual Studio 2008上的Sql Server Compact 2005

时间:2010-02-02 20:10:43

标签: visual-studio-2008 sql-server-2005 sql-server-ce dataprovider

我正在开发一个与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的工具菜单,然后单击连接到数据库... 在出现的窗口中,单击< em>更改... 数据源设置旁边。从这个对话框中我无法选择早期版本的Sql Compact - 只有3.5可用。

也许我需要在某处添加程序集引用?或者将我的Visual Studio 2005目录中的一些文件复制到2008年?我认为必须有一种方法让Visual Studio 2008能够与Sql Server 2005中的Sql Compact数据库进行交互。

为了提供更多详细信息,我在访问DataSet时发现了这个问题,右键单击并尝试添加 TableAdapter 。出现的第一个屏幕显示“选择您的数据连接”。如果我将它设置为我们一直使用的Sql Compact连接,我现在在单击 Next&gt; 按钮时出现以下错误:


无法打开与数据库的连接

“所选数据库是使用早期版本的SQL Server Compact创建的,需要先升级到SQL Server Compact 3.5才能打开或测试连接。通过创建新数据连接并完成添加连接来升级数据库对话框。“

检查连接,然后重试。


这里唯一的问题是我们仍然使用Sql Server 2005,如果我的理解是正确的,它不会产生与Sql Compact 3.5兼容的订阅文件。如果我在这个假设中错了,请纠正我。

非常感谢您提供的任何帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

尝试使用SqlCompact Engine升级方法。

SqlCeEngine en = new SqlCeEngine("--conn string");
en.Upgrade();