MSDN Library
信息
您所需的主题如下所示。但此主题未包含在此库中。

Windows Phone 8 的本地数据库连接字符串

2014/6/18

适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

Windows Phone 应用可以使用 LINQ to SQL 将关系数据存储在本地数据库中。本主题介绍可在应用中与本地数据库一起使用的受支持连接字符串参数。有关使用本地数据库的更多信息,请参见 Windows Phone 8 本地数据库

本主题包括以下部分。

在创建数据库之前,可以使用连接字符串指定数据库配置值。例如,连接字符串可以指定该数据库是否应该进行加密以及是否受密码保护。

在一个连接字符串中,各个参数用逗号分隔,参数值放置在单引号中。某些参数仅适用于创建数据库;在该数据库创建后,这些参数将被忽略。

下表列出了本地数据库连接字符串支持的所有参数。

参数

描述

data sourcedatasource

本地数据库文件的文件路径和文件名。如果仅指定此连接字符串属性,则只需要该属性值即可实例化一个数据上下文对象。有关数据上下文的更多信息,请参见 Windows Phone 8 本地数据库

使用下面的前缀显式指定该路径的根位置。

  • isostore:路径适用于本地文件夹(之前称为独立存储)。

  • appdata:路径适用于安装文件夹。

如果未指定前缀,则文件路径适用于本地文件夹。

PasswordPwddatabase passwordssce:database password

数据库密码,最长为 40 个字符。如果未指定,则默认值为无密码。如果您在数据库上启用加密,则需要使用此属性。如果您指定密码,则会自动在数据库上启用加密。如果您指定一个空密码,则该数据库不会进行加密。

说明注意:
无法在数据库创建后进行加密。

数据库是使用 AES-128 加密的,而密码是使用 SHA-256 进行哈希处理的。

若要对所选的数据(而不是整个数据库)进行加密,请参见如何加密 Windows Phone 8 的数据

max buffer sizessce:max buffer size

本地数据库在开始将更改刷新到磁盘之前可以使用的最大内存量(以千字节为单位)。如果未指定,则默认值为 384。最大值为 5120

max database sizessce:max database size

本地数据库的最大大小(以兆字节为单位)。如果未指定,则默认值为 32。最大值为 512

Modefile modessce:mode

打开数据库文件时要使用的模式。有效值如下:

  • Read Write:允许多个进程打开并修改该据库。如果未指定模式属性,则该值即为默认设置。

  • Read Only:允许您打开该安装文件夹中数据库的只读副本。

  • Exclusive:不允许其他进程打开或修改数据库。

  • Shared Read:在您打开数据库时,允许其他进程读取,但是不允许修改该数据库。

重要说明重要说明:
从 Windows Phone 8 开始,仅在使用安装文件夹时支持 Read Only 参数值。

Culture Identifier

用于数据库的区域性代码。例如,en-US 代表“英语(美国)”。有关 Windows Phone OS 7.1 中支持的区域性代码的完整列表,请参见 Windows Phone 的区域性和语言支持

说明注意:
如果此属性在连接到现有数据库时使用,则会被忽略。

Case SensitiveCaseSensitive

用来确定数据库的排序规则是否区分大小写的 Boolean 值。必须设置为 true 才能启用区分大小写的排序规则;false 表示排序规则不区分大小写。如果未指定,则默认值为 false

说明注意:
如果此属性在连接到现有数据库时使用,则会被忽略。
重要说明重要说明:

某些 Microsoft SQL Compact 连接字符串参数可能适用于此 Windows Phone 应用平台 发行版。建议不要使用本主题中未列出的任何连接字符串参数。

下面的示例演示如何对本地数据库使用连接字符串。

单个参数的用法

如果您只使用数据源属性,则不需要在连接字符串中包括属性名称,如以下示例中所示。

// Create the data context.
MyDataContext db = new MyDataContext ("isostore:/mydb.sdf")

在此示例中,isostore 前缀指示该文件位于本地文件夹中。

从安装文件夹中读取

安装文件夹不支持写入操作。当连接到该处的本地数据库时,必须使用 File Mode 属性将连接指定为只读。下面的示例演示如何建立与安装文件夹的只读连接。

// Create the data context.
MyDataContext db = new MyDataContext("Data Source = 'appdata:/mydb.sdf'; File Mode = read only;");

重要说明重要说明:

如果您将从安装文件夹以独占方式访问参考数据库文件,则不建议对其进行加密。如果加密,会在首次连接时阻止系统执行例行的数据库维护操作,例如重新建立索引。要使用加密的参考数据库,可在使用前将其复制到本地文件夹,然后使用读写连接来连接到它。有关如何进行复制的更多信息,请参见如何使用 Windows Phone 8 应用部署参考数据库

创建加密的数据库

如果需要加密数据库,则必须在连接字符串中指定一个密码,然后再创建数据库。在此示例中,在数据库创建之前指定了一个密码。

// Create the data context.
MyDataContext db = new MyDataContext("Data Source='isostore:/mydb.sdf';Password='securepassword';");

// Create an encrypted database after confirming that it does not exist.
if (!db.DatabaseExists()) db.CreateDatabase();

若要对所选的数据(而不是整个数据库)进行加密,请参见如何加密 Windows Phone 8 的数据

使用特定的区域性创建数据库

在此示例中,将创建一个具有德语区域性和区分大小写排序规则的数据库。

// Create the data context.
MyDataContext db = new MyDataContext("Data Source = 'mydb.sdf'; Culture Identifier = de-de; Case Sensitive = true;");

// Create a database after confirming that it does not exist.
if (!db.DatabaseExists()) db.CreateDatabase();

显示:
© 2016 Microsoft