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 | 指定使用者 ID 的新密碼。 | |
| Password | PWD | 指定密碼。 | |
| Server | 指定具有直接連線選用埠號的伺服器名稱。 請使用 IPv4 表示法 (server_name|ip_address[:port]) 或 IPv6 表示法。 | |
| User ID | UID | 指定使用者 ID。 |
| 關鍵字 | 預設值 | 說明 |
|---|---|---|
| allowDynamicSQL | 正確 | 指定應用程式是否可以動態執行 pureQueryXML 檔中未擷取或已擷取但未連結的任何 SQL 陳述式。 |
| capturedOnly | 不正確 | 指定是否只執行 pureQueryXML 檔中的 SQL 陳述式。 |
| captureMode | 關閉 | 指定是否擷取 SQL 陳述式的相關資訊,以及要擷取的資訊類型。 如果您同時將 captureMode 關鍵字設為 on 及 executionMode 關鍵字設為 static,則會擲出錯誤。 |
| enableDynamicSQLReplacement | 不正確 | 指定當原始陳述式和替代陳述式都未連結時,是否要執行 pureQueryXML 檔中的替代 SQL 陳述式。 |
| executionMode | 動態 | 指出是否使用 pureQuery 技術靜態執行先前擷取的陳述式。 如果您同時將 captureMode 關鍵字設為 on 及 executionMode 關鍵字設為 static,則會擲出錯誤。 |
| maxNonParmSQL | -1 | 指定要擷取的非參數化 SQL 陳述式數目上限。 僅當 captureMode 關鍵字的值為 ON時,此關鍵字才適用。 當 captureMode 關鍵字的值為 OFF時,系統不處理 maxNonParmSQL 關鍵字值。 |
| propertiesGroupId | 在儲存庫中指定建立於資料庫內的執行時期群組 ID。 | |
| pureQueryXML | 指定 pureQuery 擷取檔的檔名及路徑。 | |
| pureQueryXmlRepository | 指定包含 pureQueryXML 檔案資料的儲存庫,該檔案資料與已啟用 pureQuery 用戶端最佳化的 .NET 應用程式搭配使用。 | |
| repositoryRequired | 否 | 指定在擷取或寫入 pureQuery 資料期間發生錯誤時,pureQuery 用戶端最佳化的行為。 |
| sqlLiteralSubstitution | NOT_SET | 指定是否透過讓 pureQuery 用戶端替代文字值的參數標記,來擷取及合併共用語法且僅在文字值中不同的 SQL 陳述式。 |
| traceFile | 指定 pureQuery 日誌檔的名稱。 | |
| traceLevel | 關閉 | 指定要寫入至日誌檔的詳細程度。 |
| 關鍵字 | 預設值 | 說明 |
|---|---|---|
| Authentication | 指定鑑別類型。 可接受下列值:
|
|
| ClientAccountingString | 指定傳送至資料庫的用戶端帳戶字串。 | |
| ClientApplicationName | 指定傳送至資料庫的用戶端應用程式名稱。 | |
| ClientEncAlg | 指定是否使用進階加密標準 (AES) 加密。 可接受的值為 AES。 | |
| ClientUserID | 指定傳送至資料庫的用戶端使用者 ID。 | |
| ClientWorkStationName | 指定傳送至資料庫的用戶端工作站名稱。 | |
| CodePage | 0 | 指定字碼頁 ID。 |
| 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 | 指定 SQLID ,用來限定與 Db2 for z/OS 伺服器現行連線搭配使用的所有不完整 SQL 物件。 在 Db2 for z/OS以外的伺服器上,設定 CurrentSQLID 關鍵字相當於設定 CurrentSchema 關鍵字。 | |
| DB2Explain | 關閉 | 決定伺服器是否產生 Explain Snapshot、Explain 表格或這兩種類型的資訊。 可接受下列值:
|
| DBName | 指定資料庫名稱。 只有在連接 Db2 for z/OS 和 OS/390® 伺服器時,以及應用程式要求基本表格型錄資訊時,才會使用這個關鍵字。 如果 z/OS 或 OS/390 子系統中有許多表格,您可以指定 DBName 關鍵字,以減少應用程式查詢表格資訊所花費的時間,並減少結果集中的表格資訊量。 | |
| DelimIdent | 指定連接的 Informix® 資料庫伺服器 是否必須支援定界 SQL ID。 DelimIdent 關鍵字可以設為下列其中一個值:
|
|
| DisableCursorHold | false | 指出在確定交易之後,在伺服器上開啟的游標是否保持開啟。 可接受下列值:
|
| Enlist | true | 指出是否容許在「分散式交易協調程式 (DTC)」中列入。 可接受下列值:
|
| FetchBufferSize | 64K | 指定預設查詢區塊大小以最佳化資料流程。 IBM Data Server Provider for .NET 只容許查詢區塊大小是 32K 的倍數 (即 64K、 96K、 128K、 160K、 192K、 224K及 256K)。 非 32K 查詢區塊大小的倍數的 FetchBufferSize 值在 64K-256K範圍內時,會四捨五入至下一個最接近的 32K 界限。 在有效範圍 (64K 至 256K) 之外設定的值會四捨五入至有效範圍內下一個最接近的 32K 區塊大小。 |
| FitHighPrecisionType | 傳回異常狀況 | 指定 IBM Data Server Provider for .NET 如何將高精準度資料轉換為 .NET 系統類型。 可接受下列值:
|
| HostVarParameter | false | 指出是否啟用主變數 (:param) 支援。 可接受下列值:
|
| Interrupt | 在 10.5 版 GA 及 Fix Pack 1 中: 1 在 10.5 版 Fix Pack 2 以及更新版本中:
|
指定岔斷處理模式。 可接受下列值:
|
| Isolation Level | IsolationLevel | 指定連線的隔離層次。 可接受下列值:
如果您將隔離層次設為 交易,則隔離層次會設為 Transaction.Current.IsolationLevel的值。 |
|
| LibraryList | 指定伺服器要為連線載入哪些檔案庫。 | |
| Max Pool Size | 無上限 | 指定儲存區大小上限。 |
| Min Pool Size | 0 | 指定儲存區大小下限。 |
| Persist Security Info | false | 指出是否傳回安全機密性資訊。 可接受下列值:
|
| Pooling | true | 指出是否停用連線儲存區。 可接受下列值:
|
| ProgramId | 指定傳送至資料庫的程式 ID。 | |
| 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 類別傳遞連線字串。 可接受下列值:
|
| 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(); }