SqlCeConnection.ConnectionString 属性

获取或设置用于打开数据库的字符串。

命名空间: System.Data.SqlServerCe
程序集: System.Data.SqlServerCe(在 system.data.sqlserverce.dll 中)

语法

声明
Public Overrides Property ConnectionString As String
用法
Dim instance As SqlCeConnection
Dim value As String

value = instance.ConnectionString

instance.ConnectionString = value
public override string ConnectionString { get; set; }
public:
virtual property String^ ConnectionString {
    String^ get () override;
    void set (String^ value) override;
}
/** @property */
public String get_ConnectionString ()

/** @property */
public void set_ConnectionString (String value)
public override function get ConnectionString () : String

public override function set ConnectionString (value : String)
不适用。

属性值

SQL Server Compact Edition .NET Compact Framework 数据提供程序连接字符串,该字符串中包括创建初始连接所需的数据源名称和其他参数。默认值为空字符串。

异常

异常类型 条件

ArgumentException

提供的字符串参数无效。

备注

只有在连接关闭时才能设置 ConnectionString 属性。许多连接字符串值都具有相应的只读属性。当设置连接字符串时,将更新所有这些属性(除非检测到错误)。在此种情况下,不会更新任何属性。SqlCeConnection 属性只返回那些包含在 ConnectionString 中的设置。

重置已关闭的连接上的 ConnectionString 将会重置包括密码在内的所有连接字符串值和相关属性。

下表列出了 SQL Server Compact Edition 中支持的 ConnectionString 属性。有关更多信息,请参见 SQL Server Compact Edition Books Online(《SQL Server Compact Edition 联机丛书》)。

属性 (Property)

说明

data source 或 datasource

SQL Server Compact Edition 数据库的文件路径和名称。若要指示从应用程序目录到数据库的相对路径,请使用 Data Source = |DataDirectory|(用管道符号括起来)替换字符串。使用 AppDomain 对象上的 SetData 方法来设置应用程序的数据目录。设备不支持 DataDirectory。有关更多信息,请参见 SQL Server Compact Edition Books Online(《SQL Server Compact Edition 联机丛书》)中的“Installing SQL Server Compact Edition on a Desktop and a Tablet PC”(在桌面计算机和 Tablet PC 上安装 SQL Server Compact Edition)。

Password 或 Pwd 或 database password 或 ssce:database password

数据库密码,其长度最多可为 40 个字符。如果未指定,则默认值为没有密码。如果对数据库启用加密,则此属性是必需的。如果指定了一个密码,就对该数据库自动启用加密。

Encrypt 或 encrypt database 或 ssce: encrypt database

确定数据库是否已经加密的布尔值。若要启用加密,则必须将布尔值设置为 true;若不加密,则将其设置为 false。如果未指定,则默认值为 false。若要启用加密,您还必须使用 password 属性指定密码。如果您指定了一个密码,则不管您如何设置此属性,都会启用加密。

max buffer size 或 ssce:max buffer size

SQL Server Compact Edition 在向磁盘刷新更改前可以使用的最大内存容量,以千字节为单位。如果未指定,则默认值为 640。

max database size 或 ssce:max database size

最大数据库大小,以兆字节为单位。如果未指定,则默认值为 128。

Mode 或 file mode 或 ssce:mode

打开数据库文件时要使用的模式。有关有效值的信息,请参见下表。如果未指定,则默认值为“读写”。

default lock timeout 或 ssce: default lock timeout

某个事务将等待锁定的默认毫秒数。如果未指定,则默认值为 2000。

default lock escalation 或 ssce:default lock escalation

事务在试图从行升级到页或从页升级到表之前将会获得的锁定数。如果未指定,则默认值为 100。

flush interval 或 ssce:flush interval

在将所有已提交的事务刷新到磁盘之前指定的间隔时间(以秒为单位)。如果未指定,则默认值为 10。

autoshrink threshold 或 ssce:autoshrink threshold

在自动压缩开始之前允许的数据库文件中可用空间的百分比。如果值为 100,则禁用自动压缩。如果未指定,则默认值为 60。

temp path 或 temp file directory 或 ssce:temp file directory

临时数据库的位置。如果未指定,则默认值为使用临时存储的数据源属性中指定的数据库。

临时文件最大大小

临时数据库文件的最大大小,以兆字节为单位。如果未指定,则默认值为 128。

persist security info

当设置为 false(强烈建议使用此值)时,如果打开了连接或者连接一直处于打开状态,那么安全性敏感信息(如密码)就不会作为连接的一部分返回。重置连接字符串将重置包括密码在内的所有连接字符串值。默认值为 false

locale identifier 或 Lcid 或 initial lcid

用于数据库的区域设置 ID (LCID)。CultureInfo 类中列出了有效的 LCID 值。

下表显示了连接字符串的 mode 属性的有效值。

定义

读写

允许多个进程打开和修改数据库。如果未指定 mode 属性,则此为默认设置。

只读

允许您打开数据库的一个只读副本。

独占

不允许其他进程打开和修改数据库。

共享读取

当打开数据库时,允许其他进程读取数据库,但不允许修改数据库。

如果设置了该属性,会对连接字符串执行预验证。应用程序调用 Open 方法时,就对连接字符串进行全面验证。如果连接字符串包含不支持的或无效的属性,则此时将生成运行时异常,如 ArgumentException

下面的规则适用于连接字符串:

  1. 将忽略除放置在一个值或引号内的空白字符之外的所有空白字符。

  2. 关键字值对必须用分号 (;) 分隔;如果分号是值的一部分,也必须用引号将其分隔。

  3. 不支持任何转义序列。

  4. 与值类型无关。

  5. 名称不区分大小写。

  6. 如果属性名在连接字符串中不止出现一次,则使用与最后出现的属性名相关联的值。

  7. 值可以用单引号或双引号分隔,(例如,name='value' 或 name="value")。在使用其他分隔符的连接字符串中可以使用单引号或双引号。例如,下面的连接字符串中使用的引号是有效的:

    "data source='MyDb.sdf'; mode=Exclusive;"
    'data source="MyDb.sdf"; mode=Exclusive;'
    

    但是这些示例是无效的:

    "data source="MyDb.sdf"; mode=Exclusive;"
    'data source='MyDb.sdf'; mode=Exclusive;'
    

示例

下面的示例创建一个 SqlCeConnection 并在连接字符串中设置它的一些属性。

Dim conn As New SqlCeConnection()

' Set some connection string properties e.g.:
' 
conn.ConnectionString = _
    "Persist Security Info = False; Data Source = 'SalesData.sdf';" & _
    "Password = '<password>'; File Mode = 'shared read'; " & _
    "Max Database Size = 256; Max Buffer Size = 1024"

conn.Open()

' You can change the database while preserving 
' the orignal connection options
'
conn.ChangeDatabase("SupportData.sdf")
SqlCeConnection conn = new SqlCeConnection();

// Set some connection string properties e.g.:
// 
conn.ConnectionString = 
    "Persist Security Info = False; Data Source = 'SalesData.sdf';" +
    "Password = '<password>'; File Mode = 'shared read'; " +
    "Max Database Size = 256; Max Buffer Size = 1024";

conn.Open();

// You can change the database while preserving 
// the orignal connection options
//
conn.ChangeDatabase("SupportData.sdf");

平台

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Windows Vista、Microsoft Windows XP SP2 和 Windows Server 2003 SP1 支持 Microsoft .NET Framework 3.0。

版本信息

.NET Framework

受以下版本支持:3.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

SqlCeConnection 类
SqlCeConnection 成员
System.Data.SqlServerCe 命名空间