OdbcConnectionStringBuilder 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供簡單的方法,以建立和管理 OdbcConnection 類別使用之連接字串的內容。
public ref class OdbcConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
public sealed class OdbcConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcConnectionStringBuilder+OdbcConnectionStringBuilderConverter))]
public sealed class OdbcConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
type OdbcConnectionStringBuilder = class
inherit DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcConnectionStringBuilder+OdbcConnectionStringBuilderConverter))>]
type OdbcConnectionStringBuilder = class
inherit DbConnectionStringBuilder
Public NotInheritable Class OdbcConnectionStringBuilder
Inherits DbConnectionStringBuilder
- 繼承
- 屬性
範例
下列主控台應用程式會建置數個 ODBC 資料庫的連接字串。 首先,此範例會建立 Microsoft Access 資料庫的 連接字串。 然後,它會為IBM DB2 資料庫建立 連接字串。 此範例也會剖析現有的 連接字串,並示範各種操作 連接字串 內容的方式。
注意
這個範例包含了密碼,可示範 OdbcConnectionStringBuilder 如何搭配連接字串使用。 我們建議在您的應用程式中使用 Windows 驗證。 如果您必須使用密碼,請勿在您的應用程式中包含硬式編碼的密碼。
using System.Data.Odbc;
class Program
{
static void Main()
{
OdbcConnectionStringBuilder builder =
new OdbcConnectionStringBuilder();
builder.Driver = "Microsoft Access Driver (*.mdb)";
// Call the Add method to explicitly add key/value
// pairs to the internal collection.
builder.Add("Dbq", "C:\\info.mdb");
builder.Add("Uid", "Admin");
builder.Add("Pwd", "pass!word1");
Console.WriteLine(builder.ConnectionString);
Console.WriteLine();
// Clear current values and reset known keys to their
// default values.
builder.Clear();
// Pass the OdbcConnectionStringBuilder an existing
// connection string, and you can retrieve and
// modify any of the elements.
builder.ConnectionString =
"driver={IBM DB2 ODBC DRIVER};Database=SampleDB;" +
"hostname=SampleServerName;port=SamplePortNum;" +
"protocol=TCPIP;uid=Admin;pwd=pass!word1";
Console.WriteLine("protocol = "
+ builder["protocol"].ToString());
Console.WriteLine();
// Modify existing items.
builder["uid"] = "NewUser";
builder["pwd"] = "Pass@word2";
// Call the Remove method to remove items from
// the collection of key/value pairs.
builder.Remove("port");
// Note that calling Remove on a nonexistent item does not
// throw an exception.
builder.Remove("BadItem");
Console.WriteLine(builder.ConnectionString);
Console.WriteLine();
// Setting the indexer adds the associated value, if
// necessary.
builder["NewKey"] = "newValue";
Console.WriteLine(builder.ConnectionString);
Console.WriteLine("Press Enter to finish.");
Console.ReadLine();
}
}
Imports System.Data.Odbc
Module Module1
Sub Main()
Dim builder As New OdbcConnectionStringBuilder()
builder.Driver = "Microsoft Access Driver (*.mdb)"
' Call the Add method to explicitly add key/value
' pairs to the internal collection.
builder.Add("Dbq", "C:\info.mdb")
builder.Add("Uid", "Admin")
builder.Add("Pwd", "pass!word1")
Console.WriteLine(builder.ConnectionString)
Console.WriteLine()
' Clear current values and reset known keys to their
' default values.
builder.Clear()
' Pass the OdbcConnectionStringBuilder an existing
' connection string, and you can retrieve and
' modify any of the elements.
builder.ConnectionString = _
"driver={IBM DB2 ODBC DRIVER};Database=SampleDB;" & _
"hostname=SampleServerName;port=SamplePortNum;" & _
"protocol=TCPIP;uid=Admin;pwd=pass!word1"
Console.WriteLine("protocol = " & builder("protocol").ToString())
Console.WriteLine()
' Modify existing items:
builder("uid") = "NewUser"
builder("pwd") = "Pass@word2"
' Call the Remove method to remove items from
' the collection of key/value pairs.
builder.Remove("port")
' Note that calling Remove on a nonexistent item does not
' throw an exception.
builder.Remove("BadItem")
Console.WriteLine(builder.ConnectionString)
Console.WriteLine()
' The Item property is the default for the class,
' and setting the Item property adds the value, if
' necessary.
builder("NewKey") = "newValue"
Console.WriteLine(builder.ConnectionString)
Console.WriteLine("Press Enter to finish.")
Console.ReadLine()
End Sub
End Module
備註
連接字串 產生器可讓開發人員使用 類別的屬性和方法,以程式設計方式建立語法正確的連接字串,以及剖析和重建現有的連接字串。 連接字串 產生器提供強型別屬性,對應至 ODBC 連接所允許的已知索引鍵/值組,而開發人員可以為任何其他 連接字串 值新增任意索引鍵/值組。
必須建立連接字串做為應用程式一部分的開發人員可以使用 OdbcConnectionStringBuilder 類別來建置及修改連接字串。 此類別也可讓您輕鬆管理儲存在應用程式組態檔內的連接字串。 OdbcConnectionStringBuilder 只會針對一組有限的已知索引鍵/值組執行檢查。 因此,這個類別可以用來建立無效的連接字串。 下表列出特定的已知索引鍵,以及類別中的 OdbcConnectionStringBuilder 對應屬性及其預設值。 除了這些特定值,開發人員還可以將任何索引鍵/值組新增至 實例內含的 OdbcConnectionStringBuilder 集合。
Key | 屬性 | 註解 | 預設值 |
---|---|---|---|
驅動程式 | Driver | 開發人員在設定 Driver 屬性時,不應該包含驅動程式名稱周圍的大括弧。 實例 OdbcConnectionStringBuilder 會視需要新增大括號。 | 空字串 |
DSN | Dsn | 空字串 |
如果 連接字串 內值 () Driver 以外的任何值包含分號 (;) ,則會OdbcConnectionStringBuilder以引號括住值 連接字串。 為了避免經常包含分號的值發生此問題 Driver , OdbcConnectionStringBuilder 類別一律會以大括弧括住此值。 ODBC 規格指出包含分號的驅動程式值必須以大括弧括住,而且這個類別會為您處理這個值。
屬性 Item[] 會處理嘗試插入惡意代碼。 例如,下列程式代碼使用預設 Item[] 屬性 (索引器,在 C# ) 正確地逸出巢狀索引鍵/值組。
Dim builder As _
New System.Data.Odbc.OdbcConnectionStringBuilder
' Take advantage of the Driver property.
builder.Driver = "SQL Server"
builder("Server") = "MyServer;NewValue=Bad"
Console.WriteLine(builder.ConnectionString)
System.Data.Odbc.OdbcConnectionStringBuilder builder =
new System.Data.Odbc.OdbcConnectionStringBuilder();
// Take advantage of the Driver property.
builder.Driver = "SQL Server";
builder["Server"] = "MyServer;NewValue=Bad";
Console.WriteLine(builder.ConnectionString);
結果是以安全方式處理無效值的下列連接字串:
Driver={SQL Server};Server="MyServer;NewValue=Bad"
建構函式
OdbcConnectionStringBuilder() |
初始化 OdbcConnectionStringBuilder 類別的新執行個體。 |
OdbcConnectionStringBuilder(String) |
初始化 OdbcConnectionStringBuilder 類別的新執行個體。 所提供的連接字串會提供執行個體內部連接資訊的資料。 |
屬性
BrowsableConnectionString |
取得或設定值,指出 ConnectionString 屬性是否會顯示在 Visual Studio 設計工具中。 (繼承來源 DbConnectionStringBuilder) |
ConnectionString |
取得或設定與 DbConnectionStringBuilder 相關聯的連接字串。 (繼承來源 DbConnectionStringBuilder) |
Count |
取得 ConnectionString 屬性內所包含的索引鍵目前數目。 (繼承來源 DbConnectionStringBuilder) |
Driver |
取得或設定與連接相關聯的 ODBC 驅動程式名稱。 |
Dsn |
取得或設定與連接相關聯之資料來源名稱 (Data Source Name,DSN) 的名稱。 |
IsFixedSize |
取得值,指出 DbConnectionStringBuilder 是否有固定的大小。 (繼承來源 DbConnectionStringBuilder) |
IsReadOnly |
取得值,這個值表示 DbConnectionStringBuilder 是否為唯讀。 (繼承來源 DbConnectionStringBuilder) |
Item[String] |
取得或設定與指定之索引鍵相關聯的值。 在 C# 中,這個屬性是索引子 (Indexer)。 |
Keys |
取得 ICollection 中包含索引鍵的 OdbcConnectionStringBuilder。 |
Values |
取得包含 ICollection 中之值的 DbConnectionStringBuilder。 (繼承來源 DbConnectionStringBuilder) |
方法
明確介面實作
擴充方法
Cast<TResult>(IEnumerable) |
將 IEnumerable 的項目轉換成指定的型別。 |
OfType<TResult>(IEnumerable) |
根據指定的型別來篩選 IEnumerable 的項目。 |
AsParallel(IEnumerable) |
啟用查詢的平行化作業。 |
AsQueryable(IEnumerable) |
將 IEnumerable 轉換成 IQueryable。 |