DB2Connection.ConnectionString 财产
获取或设置用来打开数据库连接的字符串。
- 名称空间:
IBM.Data.DB2- 组合件:
IBM.Data.(在 )DB2IBM.Data.DB2.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 | OFF | 指定是否捕获有关 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 | OFF | 指定要写至日志文件的详细信息的级别。 |
| 关键词 | 缺省值 | 描述 |
|---|---|---|
| Authentication | 指定认证的类型。 以下值可接受:
重要: DATA_ENCRYPT 和 DATA_ENCRYPT_CMP 身份验证类型已过时,可能会在未来版本中删除。 要对客户端和数据库之间传输的数据进行加密,我们建议使用 Db2 我们建议您使用 Db2 数据库系统对传输层安全(TLS) 的支持。 更多信息,请参阅传输中的数据加密。
|
|
| ClientAccountingString | 指定发送至数据库的客户机记帐字符串。 | |
| ClientApplicationName | 指定发送至数据库的客户机应用程序名称。 | |
| ClientEncAlg | 指定是否使用高级加密标准 (AES) 加密。 可接受的值为 AES。 | |
| ClientUserID | 指定发送至数据库的客户机用户标识。 | |
| ClientWorkStationName | 指定发送至数据库的客户机工作站名称。 | |
| CodePage | 0 | 指定代码页标识。 |
| ConcurrentAccessResolution | 指定表示并行存取解决方案的字符串值。 以下值可接受:
如果客户机未提供 ConcurrentAccessResolution 关键字值,那么数据库服务器会定义缺省行为。 对于 Db2 for IBM® i 服务器,只有 Db2 for IBM i V7R1 及更高版本的服务器才支持 ConcurrentAccessResolution 属性。 |
|
| 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 | 指定用于限定所有未限定 SQL 对象的 SQLID,该 SQLID 与当前连接到 Db2 for z/OS 服务器。 以外的服务器上,设置 关键字等同于设置 关键字。 Db2 for z/OS 以外的服务器上,设置 CurrentSQLID 关键字等同于设置 CurrentSchema 关键字。 | |
| DB2Explain | OFF | 确定服务器是否生成说明快照和/或说明表类型信息。 以下值可接受:
|
| 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 是否可以向 DbPermission.Add 方法发送连接字符串,而无需通过 DB2ConnectionStringBuilder 类传递连接字符串。 以下值可接受:
|
| SSLClientHostnameValidation | 控制 IBM Data Server Client 或通过 IBM 数据服务器驱动程序连接服务器的应用程序的主机名验证行为。 | |
| 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。 |
|
| TLSVersion | 指定 TLS 连接所需的传输层安全 (TLS) 协议版本。 | |
| TrustedContextSystemAccessToken | TCSAT 注: 该选项从 Db2 版本 11.5.4 开始提供。
|
指定要与连接配合使用的可信上下文 SYSTEM AUTHID 的访问令牌。 | |
| TrustedContextSystemPassword | TCSPWD | 指定对应要与连接配合使用的可信上下文 SYSTEM AUTHID。 |
|
| TrustedContextSystemUserID | TCSUID | 指定要与连接配合使用的可信上下文 SYSTEM AUTHID。 |
|
| db2dumpSQLCodes | 指定在连接服务器时遇到指定的 SQLCODE 时是否收集诊断日志。 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 对象,并在连接字符串中设置了它的一些属性:
[Visual Basic]
Public Sub CreateDB2Connection()
Dim myConnString As String = _
"DATABASE=SAMPLE;"
Dim myConnection As New DB2Connection(myConnString)
myConnection.Open()
MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _
+ ControlChars.Cr + "Database: " + myConnection.Database.ToString())
myConnection.Close()
End Sub
[C#]
public void CreateDB2Connection()
{
string myConnString = "DATABASE=SAMPLE;";
DB2Connection myConnection = new DB2Connection(myConnString);
myConnection.Open();
MessageBox.Show("ServerVersion: " + myConnection.ServerVersion
+ "\nDatabase: " + myConnection.Database.ToString());
myConnection.Close();
}