MicrosoftSQL Server Compact 3.5 Service Pack 2 (SP2) 是 SQL Server Compact 的最新版本。此产品有以下版本:
3.5 版 SP2:SQL Server Compact 3.5 SP2。
3.5 版 SP1:SQL Server Compact 3.5 SP1。
3.5 版:SQL Server Compact 3.5。
3.1 版:SQL Server 2005 Compact Edition (SQL Server Compact Edition)。
3.0 版:SQL Server 2005 Mobile Edition (SQL Server Mobile)。
2.0 版:SQL Server 2000 Windows CE Edition 2.0 (SQL Server CE)。
在台式机和移动设备上,SQL Server Compact 3.5 可以与 3.0 并行安装。但是,如果试图打开使用早期版本创建的数据库文件,您将收到一条消息,告知您无法打开该文件。这是因为早期版本不支持某些数据类型(如 rowversion)。若要使用 SQL Server Compact 3.5 SP2 打开数据库文件,必须首先升级该文件。
SQL Server Compact 3.5、3.1、3.0 和 2.0 的数据库文件具有相同的文件扩展名 (*.sdf)。版本 3.5 的文件无法与早期版本一起使用。但是,SQL Server Compact 3.1 版可以与 3.0 版一起使用,反之亦然。2.0 版的文件与 3.5、3.1 或 3.0 不兼容。
SQL Server Compact 3.5 提供以下功能:
支持使用 Sync Services for ADO.NET 与 SQL Server 进行同步。
可实现更新的加密算法。
升级 SQL Server Compact 3.0 或 3.1 数据库文件
若要从 SQL Server Compact(3.1 版或 3.0 版)的早期版本打开数据库文件,请使用 Visual Studio 2008 或 Visual Studio 2010 中的“升级到 SQL Server Compact 3.5 数据库”对话框。
打开 Visual Studio,单击“视图”,然后单击“服务器资源管理器”。
右键单击“数据连接”。
单击“添加连接”,此时将出现“升级到 SQL Server Compact 3.5 数据库”对话框。
在“数据库”文本框中键入数据库文件的路径(可选)。该文本框中的默认值是过去连接到的数据库文件的路径。
在“密码”文本框中键入希望用来保护数据库文件的密码(可选)。
单击“确定”,文件将升级到 SQL Server Compact 3.5。升级之后,原始的数据文件将作为同一文件夹中的备份 (.bak) 文件提供。如果 SQL Server Compact 3.0/3.1 数据库文件是加密的,则在升级到 SQL Server Compact 3.5 的过程中,将使用加密模式“默认平台”对其加密。
备注
Visual Studio 2010 是用于开发桌面应用程序的首选环境。Visual Studio 2008 SP1 是用于开发智能设备应用程序的首选环境。有关详细信息,请参阅安装开发环境。
SQL Server Compact 3.5 数据库的可用加密模式如下:
默认平台。此选项会分配用于创建 SQL Server Compact 数据库的平台的默认加密。例如,如果数据库是在 Windows XP 上创建的,且已选中“默认平台”,则该数据库会使用 Windows XP 的加密。 如果加密数据库是在以下任何一个平台上创建的(已选中此选项),则在 Windows CE 4.2 或 Windows Mobile 2003 for Pocket PC 上将无法打开该数据库。
Windows CE 5.0
Windows CE 6.0
Windows Mobile 5.0
Windows Mobile 6.0
Windows Mobile 6.5
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
Windows 7
Windows Server 2008 R2
默认引擎。此选项提供在 SQL Server Compact 支持的大多数平台(但不包括 Windows CE 4.2 或 Windows Mobile 2003 for Pocket PC)上有效的加密。
Windows CE 5.0
Windows CE 6.0
Windows Mobile 5.0
Windows Mobile 6.0
Windows Mobile 6.5
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
Windows 7
Windows Server 2008 R2
PPC2003 兼容性。此加密模式选项在所有支持 SQL Server Compact 的平台上都有效。
Windows CE 4.2
Windows Mobile 2003 for Pocket PC
Windows CE 5.0
Windows CE 6.0
Windows Mobile 5.0
Windows Mobile 6.0
Windows Mobile 6.5
Windows XP
Windows Server 2003
Windows Vista
Windows Server 2008
Windows 7
Windows Server 2008 R2
在将 SQL Server Compact 3.0 或 3.1 数据库文件升级到 3.5 或更高版本之前,请考虑以下几点:
数据库文件升级后将无法再用于早期版本。原始的数据库文件将作为同一文件夹中的备份 (.bak) 文件提供。
也可以使用托管 API SqlCeEngine.Upgrade 或本机 API ISSCEEngine.Upgrade,以编程方式将数据库文件的早期版本升级到最新版本。
升级 SQL Server Compact 2.0 数据库文件
可以使用 SQL Server Compact 3.5 数据库升级工具 (Upgrade.exe) 升级通过 SQL Server CE(2.0 版)创建的数据库。数据库升级工具可在 Windows Mobile 设备上运行。 若要使用 Upgrade.exe,SQL Server Compact 3.5 和 SQL Server CE 运行时都必须安装在移动设备上。
运行 SQL Server Compact 3.5 数据库升级工具时,将在智能设备上创建新的 SQL Server Compact 数据库。文件扩展名为 .sdf 的新数据库包含源数据库中的所有数据。若要继续使用已升级的数据库进行复制,必须对其重新进行初始化。
有关详细信息,请参阅如何使用数据库升级工具来升级 SQL Server Compact 2.0和 数据库升级工具 (SQL Server Compact)。
在 SQL Server CE 数据库中,如果对某列指定了 UNIQUE 约束,而没有指定 NULL|NOT NULL 属性,则会自动将该列创建为具有 NOT NULL 属性。如果尝试将此数据库升级到 SQL Server Compact 3.5,则会将相同的列属性复制过来。因此,您将无法向此表插入 NULL 属性,甚至是在升级到 SQL Server Compact 3.5 之后。有关 NULL|NOT NULL 的更多信息,请参见 ALTER TABLE (SQL Server Compact)。
重要
如果在升级到 SQL Server Compact 3.5 时将复制或远程数据访问 (RDA) 用作连接解决方案,则必须将源 SQL Server Compact 3.5 数据库(订阅数据库)与 SQL Server 数据库(发布服务器)进行同步。在升级到 SQL Server Compact 3.5 之前进行同步的原因是:SQL Server CE 数据库表的所有更改都必须在 SQL Server 数据库上进行更新,这是因为在升级后必须使用新的数据库重新订阅或重新请求。
升级分布式应用程序
在运行 Internet 信息服务 (IIS) 的服务器上,SQL Server Compact 3.5 服务器代理不能与早期版本的服务器代理一起安装。
SQL Server Compact 3.5 服务器工具可以在 SQL Server Compact 3.5 和 SQL Server 2008 之间复制数据。服务器工具还支持在 SQL Server Compact 3.0/3,1 和 SQL Server 之间复制数据。SQL Server Compact 3.5 服务器代理不支持在 SQL Server Compact 3.5 或早期版本与 SQL Server 2000 或早期版本之间复制数据。
在进行升级时,首先安装 SQL Server Compact 3.5 服务器工具,然后安装客户端组件。如果在运行 IIS 的计算机上仍然装有 SQL Server Compact 服务器工具的早期版本,请勿部署更新版本的客户端应用程序。在所有组件就绪之后,即可将应用程序重新部署到智能设备上。
重要
在删除早期版本的应用程序和 SQL Server Compact 3.5 客户端组件之前,请确保已升级的应用程序可用且正常运行。
在应用程序升级的过程中,请考虑以下几点:
必须将对早期版本的 SQL Server Compact 的任何引用更改为 SQL Server Compact 3.5。
升级正在运行 IIS 的计算机时,必须安装 SQL Server Compact 3.5 服务器工具。然后可以为计算机上的 SQL Server Compact 3.5 客户端配置新的虚拟目录。
将 SQL Server Compact 3.5 客户端组件部署到设备时,请更新应用程序以将此新虚拟目录用于 SQL Server Compact 3.5。 若要实现此目的,请更新复制或 RDA 对象的 InternetURL 属性。新的 InternetURL 属性应指向 Sqlcesa35.dll,而不是 Sscesa10.dll、Sscesa20.dll 或 Sqlcesa35.dll。SQL Server Compact 3.5 服务器工具安装在以下位置中:%ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\sync\SQL。更新 InternetURL 属性是很重要的,因为 SQL Server Compact 3.5 客户端代理只能与 SQL Server Compact 3.5 服务器代理进行通信。
备注
SQL Server 2005 Compact Edition 服务器工具或 SQL Server 2005 Mobile Edition 服务器工具需要将 InternetURL 属性设置为 Sqlcesa35.dll。如果要从服务器工具的这些版本之一升级到 SQL Server Compact 3.5 服务器工具,请将 InternetURL 属性更新为 Sqlcesa35.dll。请注意,SQL Server Compact 3.5 服务器工具不支持与 SQL Server 2000 SP3a 或 SQL Server 2000 SP4 之间的数据复制。