SQL Server Compact 3.5 和 Visual Studio

更新:2007 年 11 月

利用 Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5),可以创建能部署在桌面计算机、智能设备和 Tablet PC 上的压缩数据库。

生成使用 SQL Server Compact 3.5 的应用程序时,您可以使用一种 Microsoft .NET 编程语言(Microsoft Visual Basic 或 Microsoft Visual C#)和 .NET Framework 或 .NET Compact Framework 来创建托管应用程序。或者,您也可以使用 Microsoft Visual C++ 或 Visual C++ for Devices 创建本机应用程序。

说明:

创建应用程序时,首选本地数据库为 SQL Server Compact 3.5。有关将数据库合并为应用程序的一部分的更多信息,请参见本地数据概述

具体是创建托管应用程序还是本机应用程序,这取决于您的需求和当前的技术水平。熟悉 Microsoft Visual C++ 编程的开发人员和需要对系统资源进行更多控制的开发人员可以使用 Visual C++ 创建本机应用程序。已经在使用 .NET Framework 开发基于 Microsoft Windows 的应用程序或 Web 应用程序的开发人员和熟悉一种 .NET 编程语言的开发人员则应该考虑创建托管应用程序,从而利用适用于台式计算机和 Tablet PC 的 .NET Framework 功能以及适用于智能设备的 .NET Compact Framework 功能。

SQL Server Compact 3.5 组件

说明:

默认情况下,不会在本地安装 SQL Server Compact 3.5 文档。若要下载 SQL Server Compact 3.5 联机丛书,请转到 SQL Server Compact 3.5 Books Online Download Center(SQL Server Compact 3.5 联机丛书下载中心)。

可从三个 Microsoft Windows Installer (.msi) 文件中获得 SQL Server Compact 3.5 组件:

  • SSCE 3.5 设计工具 (SSCEVSTools-ENU.msi)

    此文件可在安装 Visual Studio 2008 时,同时安装 SQL Server Compact 3.5 设计时组件。这些设计时组件包括用户界面、对话框和设计时环境,它们可用于编写 SQL Server Compact 3.5 应用程序。SQL Server Compact 3.5 设计时组件将安装在 %Program Files%\Microsoft Visual Studio 9\Common7\IDE\ 目录下。这些组件与 Visual Studio 捆绑在一起,无法独立于 Visual Studio 发行。同时,此 .msi 文件还会安装 SQL Server Compact 3.5 示例和 SQL Server Compact 3.5 头文件(用于本机开发)。

  • SQL Server Compact 3.5 (SSCERuntime-ENU.msi)

    此文件可在核心文件夹 %Program Files%\Microsoft SQL Server Compact Edition\v3.5 中,安装用于台式计算机和 Tablet PC 的 SQL Server Compact 3.5 运行时组件。SQL Server Compact 3.5 台式计算机运行时组件和 Tablet PC 运行时组件是在 Visual Studio 中开发应用程序以及在台式计算机上运行基于 SQL Server Compact 3.5 的应用程序所必需的。此 .msi 文件还会安装以下组件:

    • Microsoft Synchronization Services for ADO.NET 组件。Microsoft Synchronization Services for ADO.NET 组件的安装目录为 %Program Files%\Microsoft Synchronization Services\ADO.NET\v1.0。
  • SQL Server Compact 3.5 for Devices (SSCEDeviceRuntime-ENU.msi)

    此文件会将 SQL Server Compact 3.5 设备的运行时组件安装在目录:%Program Files%\Microsoft SQL Server Compact Edition\v3.5\Devices 下。这些运行时组件是在 Visual Studio 中开发 Windows Mobile 应用程序和基于 Windows CE 设备的应用程序,以及在移动设备上部署应用程序所必需的。

SQL Server Compact 3.5 中的新功能

SQL Server Compact 3.5 为软件开发人员引入了下面的新功能:

  • SQL Server Compact 3.5 可实现时间戳 (rowversion) 数据类型。

  • SQL Server Compact 3.5 支持台式计算机和 Tablet PC 上的本地 TransactionScope。

  • Visual Studio 2008 中的 SQL Server Compact 3.5 表设计器得到了增强,可以提供用于在表间创建主键和外键关系的用户界面。

  • SQL Server Compact 3.5 对 Transact-SQL 语句的支持已按如下方式进行了扩展:

    • SELECT FROM 子句中的嵌套查询

    • CROSS APPLY 和 OUTER APPLY

    • CAST 和 DECIMAL

    • TOP

    • SET IDENTITY INSERT

  • SQL Server Compact 3.5 支持通过使用 Microsoft Synchronization Services for ADO.NET 来利用 SQL Server 复制数据。Microsoft Synchronization Services for ADO.NET 只可用于台式计算机和 Tablet PC。

  • 通过使用 Visual Basic 2008 速成版和 Visual C# 2008 速成版,可为台式计算机和 Tablet PC 开发基于 SQL Server Compact 3.5 的应用程序。

SQL Server Compact 3.5 Service Pack 1 中的新增功能

SQL Server Compact 3.5 Service Pack 1 (SP1) 随 SQL Server 2008 和 Visual Studio 2008 SP1 提供。有关详细信息,请参见 SQL Server Compact 3.5 Service Pack 1 联机丛书中的“SQL Server Compact 中的新增功能”主题。

从 SQL Server Compact 3.5 SP1 开始,SQL Server Compact 为开发人员提供下列新功能:

  • SQL Server Compact 支持 ADO.NET Entity Framework。ADO.NET Entity Framework 使您可以域特定对象和属性(如客户和客户地址)的形式来处理数据,而不必关心用来存储这些数据的基础数据库表和列。

  • 对 ADO.NET Entity Framework 的支持使开发人员可以直接从开发环境中,使用 LINQ 表达式和 LINQ 标准查询运算符,针对 Entity Framework 对象上下文创建灵活的强类型化查询。

  • SQL Server Compact 支持区分大小写的数据库级排序规则。

  • 使用 SQL Server 2008 中的 SQL Server Management Studio (SSMS),可以管理存储在智能设备或台式机上的 SQL Server Compact 数据库。

  • SQL Server Compact 为在 SQL Server 2008 中复制新数据类型(如 date、time、datetime2、datetimeoffset、geography 和 geometry)提供支持。SQL Server 2008 中的新数据类型对应于 nchar、nvarchar、image 和其他数据类型。有关 SQL Server 2008 中数据类型的更多信息,请参见 SQL Server 2008 联机丛书中的“数据类型”。

  • SQL Server Compact 可以在 64 位环境中以本机方式运行。受影响的 .msi 文件是 SQL Server Compact 64 位运行时 (SSCERuntime-ENU.msi) 和 SQL Server Compact 64 位服务器工具 (SSCEServerTools-ENU.msi)。对 32 位 .msi 文件的支持未发生变化。对其应用程序使用 ClickOnce 部署的开发人员必须同时指定 32 位和 64 位下载 URL。

  • SQL Server Compact 支持通过使用 Microsoft Synchronization Services for ADO.NET 来利用 SQL Server 2000、SQL Server 2005 和 SQL Server 2008 复制数据。Microsoft Synchronization Services for ADO.NET 既适用于台式机又适用于移动设备。

  • SQL Server Compact 支持通过使用合并复制和远程数据访问 (RDA) 来利用 SQL Server 2005 和 SQL Server 2008 复制数据。

  • SQL Server Compact 包括增强的 SQL Server Compact 与 SQL Server 版本兼容,这种兼容用于合并复制。

  • 通过使用 SQL Server Compact 3.5 SP1 来配置合并复制和 RDA 的服务器工具可以从 Microsoft 下载中心下载。SQL Server Compact 3.5 SP1 服务器工具可以与早期版本的服务器工具在充当 Internet 信息服务 (IIS) 服务器的计算机上并行安装。SQL Server Compact 3.5 SP1 服务器工具可以在 SQL Server Compact 3.5 与 SQL Server 2005/SQL Server 2008 之间复制数据。SQL Server Compact 3.5 SP1 服务器工具还支持在 SQL Server 2005 Compact Edition/SQL Server 2005 Mobile Edition 与 SQL Server 2005/SQL Server 2008 之间复制数据。

  • SQL Server Compact 支持 Windows Server 2008。有关所有受支持的 Windows 版本的列表,请参见 SQL Server Compact 联机丛书中的“硬件和软件要求”。

  • SQL Server Compact 包括若干日志记录增强功能。

SQL Server Compact 3.5 中的其他突出功能

SQL Server Compact 3.5 提供下列功能,当您将它用作应用程序的本地数据存储区时,可以考虑使用这些功能。

  • SQL Server Compact 3.5 是基于文件的,这意味着连接字符串是指向数据库 (.sdf) 文件的文件路径。

  • SQL Server Compact 3.5 不作为服务运行。这是使用 SQL Server Compact 3.5 和使用 SQL Server 或 SQL Server Express Edition 的最主要的区别之一。

  • SQL Server Compact 3.5(与 SQL Server 2005 Mobile Edition 一样)最多支持 256 个连接。还支持在不同进程中打开连接。

  • SQL Server Compact 3.5 的当前版本所支持的数据库文件最大为 4 GB。

何时使用 SQL Server Compact 3.5

SQL Server Compact 3.5 是一种基于文件的数据库,由大约 1.4 MB 的 DLL 组成。

下面的列表列出了一些可在应用程序中使用 SQL Server Compact 3.5 的情况:

部署选项

SQL Server Compact 3.5 提供了两种部署模型,您可将这两种部署模型合并到您的应用程序中。

ClickOnce

您可以使用传统的 Microsoft 安装程序技术,包括 ClickOnce 部署。您也可以使用基于文件的部署,您可在该部署中添加 SQL Server Compact 3.5 DLL,并将这些 DLL 与您的项目一起部署。

数据目录支持

SQL Server Compact 3.5 现在可支持数据目录宏。这意味着,如果您将字符串 |DataDirectory|(用竖线括起)添加到文件路径,则该字符串将解析为数据库路径。

例如,请考虑以下连接字符串:

"Data Source= c:\program files\MyApp\Mydb.sdf"

在使用数据目录时,可改为使用下面的连接字符串:

"Data Source = |DataDirectory|\Mydb.sdf"

有关更多信息,请参见 如何:将 SQL Server Compact 3.5 数据库与应用程序一起部署

向后兼容性

SQL Server Compact 3.5 可以与以前的版本 (3.1) 一起安装在台式计算机和 Tablet PC 上。如果您试图打开早期版本创建的数据库文件,则会收到一条消息,指示无法打开该文件。若要打开该文件,则必须首先使用 Visual Studio 2008 中的“升级到 SQL Server Compact 3.5”对话框,对该数据库文件进行升级。若要访问“升级到 SQL Server Compact 3.5”对话框,请完成“添加连接”对话框的设置。如果打开了早期版本的数据库文件,则会显示错误消息。如果您单击“确定”,则会显示“升级到 SQL Server Compact 3.5”对话框。SQL Server Compact 3.5 文件的文件扩展名为 .sdf,这与早期版本(SQL Server 2005 Compact Edition 和 SQL Server 2005 Mobile Edition)的文件的扩展名相同。数据库文件升级为 SQL Server Compact 3.5 后,您将无法使用早期版本的 SQL Server Compact 引擎打开升级后的数据库文件。

SQL Server Compact 3.5 Books Online(SQL Server Compact 3.5 联机丛书)

默认情况下,不会在本地安装 SQL Server Compact 3.5 文档。若要下载 SQL Server Compact 3.5 联机丛书,请转到 SQL Server Compact 3.5 Books Online Download Center(SQL Server Compact 3.5 联机丛书下载中心)。SQL Server Compact 3.5 联机丛书可提供有关如何在台式计算机、移动设备和 Tablet PC 上开发、管理和部署 SQL Server Compact 3.5 应用程序的概念和编程信息。

64 位开发

在使用 Visual Studio 和 SQL Server Compact 3.5 进行 64 位开发时,必须将“高级编译器设置”中的“目标 CPU”选项显式设置为“x86”。将“目标 CPU”设置为默认值“任何 CPU”时,可能会遇到“无法加载 sqlceme35.dll”消息。请在项目属性的“高级编译器设置”中设置“目标 CPU”选项。

请参见

任务

如何:向项目添加 SQL Server Compact 3.5 数据库

如何:将 SQL Server Compact 3.5 数据库与应用程序一起部署

演练:创建 SQL Server Compact 3.5 数据库

演练:将 SQL Server Compact 3.5 数据库添加到应用程序中并进行部署

其他资源

偶尔连接的应用程序

SQL Server Compact 3.5 Books Online Download Center(SQL Server Compact 3.5 联机丛书下载中心)

修订记录

日期

修订

原因

2008 年 7 月

新增章节,描述 SQL Server Compact 3.5 Service Pack 1 中的新增功能。

SP1 功能更改。