DB2Connection.ConnectionString 属性
获取或设置用来打开数据库连接的字符串。
- 名称空间:
DB2IBM.Data.- 组合件:
DB2IBM.Data.(在DB2IBM.Data..dll中)
语法
[Visual Basic]
Public Property ConnectionString As String Implements _
IDbConnection.ConnectionString
[C#]
public string ConnectionString {get; set;}
[C++]
public: __property String* get_ConnectionString();
public: __property void set_ConnectionString(String*);
[JScript]
public function get ConnectionString() : String;
public function set ConnectionString(String);
- 实现:
- IDbConnection.ConnectionString
属性值
连接字符串,它包括建立初始连接所需的设置(例如,数据库名称)。 缺省值为空字符串 ("")。 最大长度为 1024 个字符。
注释
可以使用 ConnectionString 属性来连接至任何受支持的数据服务器。 仅当连接关闭时您才能设置 ConnectionString 属性。
受支持的关键字如下所示。
| 关键字 | 缺省值 | 描述 |
|---|---|---|
| Database | 指定数据库别名。 Database 关键字的值的最大大小为 255 字节。 | |
| NewPWD | 指定用户标识的新密码。 | |
| Password | PWD | 指定密码。 | |
| Server | 指定带有用于直接连接的可选端口号的服务器名称。 使用 IPv4 表示法 (server_name|ip_address[:port]) 或 IPv6 表示法。 | |
| User ID | UID | 指定用户标识。 |
| 关键字 | 缺省值 | 描述 |
|---|---|---|
| allowDynamicSQL | True | 指定应用程序是否可动态运行 pureQueryXML 文件中未捕获或已捕获但未绑定的所有 SQL 语句。 |
| capturedOnly | False | 指定是否仅运行 pureQueryXML 文件中的 SQL 语句。 |
| captureMode | 关 | 指定是否捕获有关 SQL 语句的信息以及要捕获的信息类型。 如果您将 captureMode 关键字设置为 on 并且将 executionMode 关键字设置为 static,那么会抛出错误。 |
| enableDynamicSQLReplacement | False | 指定原始语句和备用语句都未绑定时是否运行 pureQueryXML 文件中的备用 SQL 语句。 |
| executionMode | 动态 | 指示是否使用 pureQuery 技术以静态方式执行先前捕获的语句。 如果您将 captureMode 关键字设置为 on 并且将 executionMode 关键字设置为 static,那么会抛出错误。 |
| maxNonParmSQL | -1 | 指定要捕获的非参数化 SQL 语句的最大数目。 仅当 captureMode 关键字的值为 ON 时,此关键字才适用。 当 captureMode 关键字的值为 OFF时,将忽略 maxNonParmSQL 关键字值。 |
| propertiesGroupId | 指定存储库中的一个运行时组标识,此组标识是在数据库中创建的。 | |
| pureQueryXML | 指定 pureQuery 捕获文件的文件名和路径。 | |
| pureQueryXmlRepository | 指定包含 pureQueryXML 文件数据的存储库,该文件数据用于支持 pureQuery 客户机优化的 .NET 应用程序。 | |
| repositoryRequired | 否 | 指定检索或写入 pureQuery 数据期间发生错误时 pureQuery 客户机优化的行为。 |
| sqlLiteralSubstitution | NOT_SET | 指定是否通过使用 pureQuery 客户机替换字面值的参数标记来捕获和合并仅在字面值中存在差异的共享语法的 SQL 语句。 |
| traceFile | 指定 pureQuery 日志文件的名称。 | |
| traceLevel | 关 | 指定要写至日志文件的详细信息的级别。 |
| 关键字 | 缺省值 | 描述 |
|---|---|---|
| Authentication | 指定认证的类型。 以下值可接受:
|
|
| ClientAccountingString | 指定发送至数据库的客户机记帐字符串。 | |
| ClientApplicationName | 指定发送至数据库的客户机应用程序名称。 | |
| ClientEncAlg | 指定是否使用高级加密标准 (AES) 加密。 可接受的值为 AES。 | |
| ClientUserID | 指定发送至数据库的客户机用户标识。 | |
| ClientWorkStationName | 指定发送至数据库的客户机工作站名称。 | |
| CodePage | 0 | 指定代码页标识。 |
| ConcurrentAccessResolution | 指定表示并行存取解决方案的字符串值。 以下值可接受:
如果客户机未提供 ConcurrentAccessResolution 关键字值,那么数据库服务器会定义缺省行为。 对于 Db2 for IBM® i 服务器, ConcurrentAccessResolution 属性仅受 Db2 for IBM i V7R1 和更高版本的服务器支持。 |
|
| ConnectNodeNumber | 0 - 999 | 指定要连接到的数据库分区服务器。 |
| Connection Lifetime | 60 | 指定连接池中的连接可保持空闲的时间(以秒数计)。 |
| Connection Reset | false | 指定连接关闭后是否将其放入到连接池中。 以下值可接受:
|
| Connection Timeout | Connect Timeout | Timeout | 0 | 指定等待建立数据库连接的时间(以秒数计)。 如果值为 0,那么指示对于建立数据库连接没有时间限制。 如果启用了客户机重新路由,那么最大等待时间大约是指定连接超时的两倍,因为第二次尝试连接到备用服务器。 连接超时值将对连接强制实施,无论是否已启用高可用性解决方案。 如果连接尝试在连接超时值指定的时间内失败,那么控制权将交还给应用程序并产生 SQL30081N 错误。 不管是否尝试了所有备用服务器,都会返回此错误并交还控制权。 |
| CurrentFunctionPath | 指定将用于解析动态 SQL 语句中的函数引用与数据类型引用的模式名称列表。 | |
| CurrentPackageSet | 在每次连接后发出 SET CURRENT PACKAGESET 语句。 | |
| CurrentSchema | 指定一个模式名称,用于限定与当前连接配合使用的所有非限定 SQL 对象。 | |
| CurrentSQLID | 指定用于限定与 Db2 for z/OS 服务器的当前连接一起使用的所有未限定 SQL 对象的 SQLID。 在 Db2 for z/OS以外的服务器上,设置 CurrentSQLID 关键字等同于设置 CurrentSchema 关键字。 | |
| DB2Explain | 关 | 确定服务器是否生成说明快照和/或说明表类型信息。 以下值可接受:
|
| DBName | 指定数据库名称。 仅当连接到 Db2 for z/OS 和 OS/390® 服务器时,并且仅当应用程序请求基本表目录信息时,才会使用此关键字。 如果 z/OS 或 OS/390 子系统中存在许多表,那么可以指定 DBName 关键字以减少应用程序查询表信息所需的时间,并减少结果集中的表信息量。 | |
| DelimIdent | 指定已连接的 Informix® 数据库服务器 是否必须支持定界 SQL 标识。 DelimIdent 关键字可以设置为下列其中一个值:
|
|
| DisableCursorHold | false | 指示在落实事务后,在服务器上打开的游标将保持打开。 以下值可接受:
|
| Enlist | true | 指示是否允许在分布式事务协调程序 (DTC) 中登记。 以下值可接受:
|
| FetchBufferSize | 64K | 指定缺省查询块大小以优化数据流。 IBM Data Server Provider for .NET 仅允许查询块大小为 32K 的倍数 (即 64K, 96K, 128K, 160K, 192K, 224K和 256K)。 如果 FetchBufferSize 值不是 32K 查询块大小的倍数,那么会将它四舍五入为最接近的 32K 倍数值(但是要在 64K - 256K 范围内)。 设置为超出有效范围 (64K - 256K) 的值,将四舍五入为有效范围内的下一个最接近的 32K 块大小。 |
| FitHighPrecisionType | ReturnException | 指定 IBM Data Server Provider for .NET 如何将高精度数据转换为 .NET 系统类型。 以下值可接受:
|
| HostVarParameter | false | 指示是否启用主变量 (:param) 支持。 以下值可接受:
|
| Interrupt | 在 V10.5 GA 和 FP1 中:1 在 V10.5 FP2 和更高版本中:
|
指定中断处理方式。 以下值可接受:
|
| Isolation Level | IsolationLevel | 指定连接的隔离级别。 以下值可接受:
如果将隔离级别设置为 事务,那么隔离级别将设置为 Transaction.Current.IsolationLevel的值。 |
|
| LibraryList | 指定服务器要为此连接加载的库。 | |
| Max Pool Size | 无最大值 | 指定最大池大小。 |
| Min Pool Size | 0 | 指定最小池大小。 |
| Persist Security Info | false | 指示是否返回安全性敏感信息。 以下值可接受:
|
| Pooling | true | 指示是否禁用连接池。 以下值可接受:
|
| ProgramId | 指定发送至数据库的程序标识。 | |
| ProgramName | 指定发送至数据库的程序名。 | |
| QueryTimeout | 指定等待 SQL 语句或 XQuery 表达式完成的秒数。 QueryTimeout 关键字指示在尝试取消执行并将控制权交回应用程序之前等待 SQL 语句或 XQuery 表达式完成执行的缺省秒数。 此关键字将覆盖 DB2Command.CommandTimeout 属性的缺省值 30 秒。 | |
| ResultArrayAsReturnValue | false | 指示是否将来自 Informix 用户定义的例程 (UDR) 的结果集作为类型为 ReturnValue的参数返回。 值如下所示:
|
| RetrieveXMLInBinaryFormat | false | 指定是否以二进制格式返回 XML 数据。 以下值可接受:
|
| RetryParameterBindingOnError | true | 指示提供程序是否重复执行失败的语句。 以下值可接受:
|
| SchemaList | 指定包含模式列表的字符串值。 模式列表用于为那些列示数据库中的每个表的应用程序提供更具限制性的缺省值,从而帮助改进性能。 | |
| Security | 指示是否使用 SSL 作为安全传输方法。 SSL 是可为 Security 关键字指定的唯一值。 | |
| SessionTimeZone | 在 z/OS 服务器上设置 SESSION TIMEZONE 专用寄存器的值。 | |
| SkipSynonymProcessing | false | 指示 IBM Data Server Provider for .NET 是否可以在不通过 DB2ConnectionStringBuilder 类传递连接字符串的情况下向 DbPermission.Add 方法发送连接字符串。 以下值可接受:
|
| SSLClientKeystash | 指定用于 SSL 连接的 SSL 隐藏文件。 | |
| SSLClientKeystoredb | 指定用于 SSL 连接的 SSL 密钥数据库文件。 | |
| SSLClientKeystoreDBPassword | 设置与 CERTIFICATE 认证配合使用的密钥库数据库密码。 | |
| SSLClientLabel | 设置唯一标签,此标签将映射至特定证书,以便与 CERTIFICATE 认证配合使用。 | |
| SSLServerCertificate | 指定自签名服务器证书或认证中心 (CA) 证书的标准名称。 | |
| StatementConcentrator | 指示是否使用语句集中。 以下值可接受:
|
|
| TargetPrincipal | 指定目标服务器的标准 Kerberos 主体名称。 Db2 实例所有者的标准 Kerberos 主体名称,格式为 name@REALM 或 instance@REALM。对于 Windows 操作系统,标准 Kerberos 主体名称 是 Db2 服务器服务的登录帐户,格式为 userid@DOMAIN。 userid@xxx.xxx.xxx.com 或 domain\userid。 |
|
| TrustedContextSystemPassword | TCSPWD | 指定对应要与连接配合使用的可信上下文 SYSTEM AUTHID。 |
|
| TrustedContextSystemUserID | TCSUID | 指定要与连接配合使用的可信上下文 SYSTEM AUTHID。 |
|
| db2dumpSQLCodes | 指定在与 Db2 for z/OS 服务器的连接中迂到指定的 SQLCODE 时是否收集诊断日志。 注: 如果 db2dsdriver.cfg中也提到了 db2dumpSQLCodes 和 cfgRefreshInterval 关键字,那么在 cfgRefreshInterval 中指定的时间到期后,将优先使用 db2dsdriver.cfg 文件中指定的 db2dumpSQLCodes 值。
|
|
| Db2DumpSQLCodesInterval | 指定未捕获 SQLCODE 日志记录信息的时间段(以秒计)。 |
|
| TrustedContextUserRegistryName| TCURN | 切换到可信连接时,在连接字符串中发送用户注册表名称。仅应在使用身份映射服务的 Db2 for z/OS 服务器上认证用户时使用。 |
可在字符串中指定的许多设置都具有相应的只读属性。 例如, DATABASE 关键字对应于 DB2Connection.Database 属性。 设置连接字符串时,将更新所有这些只读属性(除非检测到了错误)。 在检测到错误的情况下,将不更新任何属性。 DB2Connection 属性 (例如 DB2Connection.Database ) 仅返回缺省设置或您为 ConnectionString 属性指定的那些设置。
在您设置连接字符串时,将对其进行验证。
在已关闭的连接上重置 ConnectionString 属性时将重置包括密码在内的所有连接字符串值及相关属性。
示例
[Visual Basic , C#] 以下示例创建 DB2Connection 对象并在连接字符串中设置其某些属性:
DB2DB2DB2DB2DB2[Visual Basic] Public Sub CreateConnection() Dim myConnString As String = _ "DATABASE=SAMPLE;" Dim myConnection As New Connection(myConnString) myConnection.Open() MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _ + ControlChars.Cr + "Database: " + myConnection.Database.ToString()) myConnection.Close() End Sub [C#] public void CreateConnection() { string myConnString = "DATABASE=SAMPLE;"; Connection myConnection = new Connection(myConnString); myConnection.Open(); MessageBox.Show("ServerVersion: " + myConnection.ServerVersion + "\nDatabase: " + myConnection.Database.ToString()); myConnection.Close(); }