共用方式為


OdbcConnection.ConnectionString 屬性

定義

取得或設定用來開啟資料來源的字串。

public:
 virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public:
 property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public override string ConnectionString { get; set; }
public string ConnectionString { get; set; }
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }
member this.ConnectionString : string with get, set
[<System.ComponentModel.SettingsBindable(true)>]
member this.ConnectionString : string with get, set
Public Overrides Property ConnectionString As String
Public Property ConnectionString As String

屬性值

建立初始連線所需的 ODBC 驅動程式連接字串,包含設定,例如資料來源名稱。 預設值是空字串 ("")。 最大長度為 1024 個字元。

實作

屬性

備註

ConnectionString 特性設計上盡可能與 ODBC 連接字串格式相符。 ConnectionString只有在連線關閉時才能設定,且一旦設定完成,就會立即不更改地傳給驅動程式管理器及底層驅動程式。 因此,的 ConnectionString 語法必須完全符合驅動程式管理器及其底層驅動程式所支援的標準。

你可以利用這個 ConnectionString 屬性連接各種資料來源。 這包括一個 ODBC 資料來源名稱(DSN)。 以下範例說明了幾種可能的連接串。

"Driver={SQL Server};Server=(local);Trusted_Connection=Yes;Database=AdventureWorks;"

"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=Yes"

"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\Northwind.mdb"

"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls"

"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin"

"DSN=dsnname"

備註

ODBC 的 .NET Framework 資料提供者不支援 Persist Security Info 其他 .NET Framework 資料提供者所支援的關鍵字。 然而,該 ConnectionString 屬性的行為就像 Persist Security Info 被設定為 false。 這表示如果連線已被開啟,你無法從 ConnectionString 該屬性中取得密碼。 當從已開啟的物件讀取OdbcConnectionConnectionString屬性時,連線字串會回傳但不含密碼的連結字串。 你無法改變這種行為;因此,如果應用程式需要密碼,請在呼叫 Open前先分別儲存密碼。

字串中指定的許多設定都有對應的唯讀屬性(例如, Server=(local)對應於該 DataSource 屬性)。 這些屬性會在連線開啟後更新,除非偵測到錯誤。 在這種情況下,所有屬性都沒有更新。 OdbcConnection 屬性(例如 Database)僅回傳預設設定或 中指定的 ConnectionString設定。

當你設定 ConnectionString 屬性時,連線字串會進行一些基本的驗證。 此時,資料提供者會驗證連線字串是否符合「關鍵字=值;...」格式,但無法驗證關鍵字或值是否有效。 剩餘的驗證由底層 ODBC 驅動程式在應用程式呼叫該 Open 方法時執行。

ODBC 連接字串的語法如下:

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
empty-string ::=
attribute ::= attribute-keyword=attribute-value | DRIVER=[{]attribute-value[}]
attribute-keyword ::= DSN | UID | PWD
 | driver-defined-attribute-keyword
attribute-value ::= character-string
driver-defined-attribute-keyword ::= identifier

其中 character-string 有零個或多個字元; identifier 有一個或多個字元; attribute-keyword 不區分大小寫; attribute-value 可以區分大小寫;且 DSN 關鍵字的值不僅限於空白。

由於連接字串與初始化檔案文法的關係,應避免使用包含 []{}(),;?)*=!@ 未用牙套包住。 DSN 關鍵字的值不能只包含空白,也不應該包含前置空白。 由於系統資訊的文法,關鍵字與資料來源名稱無法包含反斜線(\)字元。

除非屬性包含分號(;),否則應用程式不必在 Driver 關鍵字後的屬性值周圍加大括號,此時則需要大括號。 如果驅動程式收到的屬性值包含大括號,驅動程式不應移除它們,但它們應該包含在回傳的連接字串中。

一個以大括號({})包圍的 DSN 或連接字串值,包含任一字元 []{}(),;?*=!@ 會完整傳給駕駛員。 然而,當你在關鍵字中使用這些字元時,驅動程式管理器會在處理檔案 DSN 時回傳錯誤,但將連線字串傳給驅動程式,以取得一般的連線字串。 避免在關鍵字值中使用嵌入的大括號。

連接字串可包含任意數量的驅動程式定義關鍵字。 由於 DRIVER 關鍵字不使用系統資訊,驅動程式必須定義足夠的關鍵字,使驅動程式能僅用連接字串中的資訊連接資料來源。 驅動程式定義連接資料來源所需的關鍵字。

如果連接字串中重複出現任何關鍵字,無法保證會選出哪個值。

備註

若 ODBC 驅動程式支援超過 1024 字元的連接字串,您可以使用資料來源名稱(DSN)超過最大長度限制。

適用於

另請參閱