SqlCeConnection.ConnectionString 属性
获取或设置用于打开数据库的字符串。
命名空间: System.Data.SqlServerCe
程序集: System.Data.SqlServerCe(在 System.Data.SqlServerCe.dll 中)
语法
声明
Public Overrides Property ConnectionString As String
Get
Set
用法
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;
}
abstract ConnectionString : string with get, set
override ConnectionString : string with get, set
override function get ConnectionString () : String
override function set ConnectionString (value : String)
属性值
类型:System.String
SQL Server Compact 的 .NET Compact Framework 数据提供程序中包括创建初始连接所需的数据源名称和其他参数。默认值为空字符串。
实现
IDbConnection.ConnectionString
异常
异常 | 条件 |
---|---|
ArgumentException | 提供的连接字符串参数无效。 |
注释
只有在连接关闭时才能设置 ConnectionString 属性。许多连接字符串值都具有相应的只读属性。当设置连接字符串时,将更新所有这些属性(除非检测到错误)。在此种情况下,不会更新任何属性。SqlCeConnection 属性只返回那些包含在 ConnectionString 中的设置。
重置已关闭的连接上的 ConnectionString 将会重置包括密码在内的所有连接字符串值和相关属性。
下表列出了 SQL Server Compact 中支持的 ConnectionString 属性。
属性 |
说明 |
---|---|
data source 或 datasource |
SQL Server Compact 数据库的文件路径和名称。若要指明从应用程序目录到数据库的相对路径,请使用 Data Source = |DataDirectory|(用管道符号括起来)替换字符串。使用 AppDomain 对象上的 SetData() 方法来设置应用程序的数据目录。设备不支持 DataDirectory。有关更多信息,请参阅在桌面上安装和部署 (SQL Server Compact)。 |
Password 或 Pwd 或 database password 或 ssce:database password |
数据库密码,最多包含 40 个字符。如果未指定,默认值为没有密码。如果对数据库启用加密功能,此属性为必需的。如果指定了一个密码,就对该数据库自动启用加密。如果指定一个空密码,则不会对该数据库加密。 |
ssce:enlist 或 enlist |
默认情况下,enlist 的值为 false。可以将该值设置为 true。如果使用设置为 true 的 Enlist 打开指向 SQL Server Compact 数据库的连接,则该连接将提升为一个事务。 |
ssce:encryption mode 或 encryption mode |
此属性的值为 engine default 或 platform default 默认值为 platform default。
注意
该属性是一个数据库创建时间选项,在连接到现有数据库时将忽略。
|
Encrypt 或 encrypt database 或 ssce:encrypt database |
确定数据库是否已经加密的布尔值。启用加密功能时,必须设置为 true;不使用加密功能时,必须设置为 false。如果未指定,默认值为 false。如果启用加密功能,必须也使用 password 属性指定密码。如果指定密码,不管此属性如何设置,都将启用加密功能。
注意
该属性是一个数据库创建时间选项,在连接到现有数据库时将忽略。如果指定了 SSCE:Database 数据库密码,则不管是否指定 SSCE:Encrypt Database,都始终加密数据库。
|
max buffer size 或 ssce:max buffer size |
在开始将更改刷新到磁盘之前,SQL Server Compact 可以使用的最大内存量 (KB)。如果未指定,默认值为 640。 |
max database size 或 ssce:max database size |
最大数据库大小 (MB)。如果未指定,默认值为 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 |
临时数据库的位置。如果未指定,默认情况下,将使用数据源属性中指定的数据库来进行临时存储。 |
临时文件最大大小 |
临时数据库文件的最大大小 (MB)。如果未指定,默认值为 128。 |
persist security info |
当设置为 false(强烈建议使用此值)时,如果打开了连接或者连接一直处于打开状态,那么安全性敏感信息(如密码)就不会作为连接的一部分返回。重置连接字符串将重置包括密码在内的所有连接字符串值。默认值为 false。 |
locale identifier 或 Lcid 或 initial lcid |
用于数据库的区域设置 ID (LCID)。CultureInfo 类中列出了有效的 LCID 值。
注意
该属性是一个数据库创建时间选项,在连接到现有数据库时将忽略。
|
Case Sensitive 或 CaseSensitive |
确定数据库排序规则是否区分大小写的布尔值。启用区分大小写的排序规则时,必须设置为 true;启用不区分大小写的排序规则时,必须设置为 false。如果未指定,默认值为 false。如果连接到现有的 SQL Server Compact 数据库,且连接字符串中有“Case Sensitive”属性,则 SQL Server Compact 3.5 SP1 会忽略该设置。
注意
该属性是一个数据库创建时间选项,在连接到现有数据库时将忽略。
|
下表显示了连接字符串的 mode 属性的有效值。
值 |
定义 |
---|---|
读写 |
允许多个进程打开和修改数据库。这是未指定 mode 属性时的默认设置。 |
只读 |
允许您打开数据库的一个只读副本。 |
独占 |
不允许其他进程打开或修改数据库。 |
共享读取 |
当打开数据库时,允许其他进程读取数据库,但不允许修改数据库。 |
如果设置了该属性,会对连接字符串执行预验证。应用程序调用 Open 方法时,就对连接字符串进行全面验证。如果连接字符串包含不支持的或无效的属性,则此时将生成运行时异常,如 ArgumentException。
下列规则适用于连接字符串:
将忽略除放置在一个值或引号内的空白字符之外的所有空白字符。
关键字值对之间必须用分号 (;) 分隔。如果分号是值的一部分,还必须用引号对其进行分隔。
不支持任何转义序列。
与值类型无关。
名称不区分大小写。
如果属性名在连接字符串中不止出现一次,则使用与最后出现的属性名相关联的值。
值可以用单引号或双引号分隔(例如,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");