ServerConnection 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
public sealed class ServerConnection : Microsoft.SqlServer.Management.Common.ConnectionManager, Microsoft.SqlServer.Management.Common.ISfcConnection
type ServerConnection = class
inherit ConnectionManager
interface ISfcConnection
Public NotInheritable Class ServerConnection
Inherits ConnectionManager
Implements ISfcConnection
- 繼承
- 實作
建構函式
| 名稱 | Description |
|---|---|
| ServerConnection() | |
| ServerConnection(IRenewableToken) |
建立一個 ServerConnection 物件,接收該標記。 額外的布林值用於超載此建構子,因為存在另一個包含字串的建構子。 |
| ServerConnection(SqlConnection, IRenewableToken) |
建立一個新的 ServerConnection 物件 |
| ServerConnection(SqlConnection, IRenewableToken) |
建立一個新的 ServerConnection 物件 |
| ServerConnection(SqlConnection) |
從給定的 SqlConnection 建構一個新的 ServerConnection 物件 |
| ServerConnection(SqlConnection) |
從給定的 SqlConnection 建構一個新的 ServerConnection 物件 |
| ServerConnection(SqlConnectionInfo) | |
| ServerConnection(String, String, SecureString) | |
| ServerConnection(String, String, String) | |
| ServerConnection(String) | |
欄位
| 名稱 | Description |
|---|---|
| NoConnectionTimeout |
無限等待 (繼承來源 ConnectionSettings) |
屬性
| 名稱 | Description |
|---|---|
| AcceptsLogin |
如果 LoginSecure 和 Authentication 目前的值都使用 Login 屬性,則會回傳 true。 (繼承來源 ConnectionSettings) |
| AccessToken | (繼承來源 ConnectionSettings) |
| ApplicationIntent |
連線的應用意圖有效值為 ReadWrite 與 ReadOnly (繼承來源 ConnectionSettings) |
| ApplicationName |
應用程式的名稱。 若未提供應用程式名稱,則稱為「SQL 管理」。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException (繼承來源 ConnectionSettings) |
| Authentication |
連線的認證類型 (繼承來源 ConnectionSettings) |
| AutoDisconnectMode | (繼承來源 ConnectionManager) |
| BatchSeparator |
定義了 ExecuteNonQuery 方法所使用的批次分隔符。 預設是「GO」。 批次分隔器不區分大小寫。 |
| CachedQueries |
取得或設定一個值,指示 ServerConnection 實例是否應該快取查詢結果 |
| CapturedSql | (繼承來源 ConnectionManager) |
| ConnectAsUser |
若設為 true,連線將以指定使用者的憑證建立。 此舉假設冒充,但 LoginSecure 標誌及登入與密碼欄位不受影響。 這個設定只能在 Windows 上使用。 (繼承來源 ConnectionSettings) |
| ConnectAsUserName |
指定建立冒充連線時所使用的 Windows 使用者。 使用者必須擁有互動式登入權限。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException PropertyNotSetException (繼承來源 ConnectionSettings) |
| ConnectAsUserPassword |
指定 Windows 使用者在建立冒充連線時使用的密碼。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException PropertyNotSetException (繼承來源 ConnectionSettings) |
| ConnectionProtocol |
線上通訊協定。 (繼承來源 ConnectionManager) |
| ConnectionString |
該屬性會回傳使用者指定的 連接字串,或是根據物件設定回傳計算出的 連接字串。 若明確設定,ServerConnection 物件中的所有屬性都會被填入以反映傳入的 連接字串。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException (繼承來源 ConnectionSettings) |
| ConnectionType | |
| ConnectTimeout |
等待連線到伺服器的時間(以秒計)後終止嘗試並拋出例外。 預設是30秒(和Shiloh一樣)。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException (繼承來源 ConnectionSettings) |
| CurrentDatabase |
回傳目前的資料庫上下文。 (繼承來源 ConnectionManager) |
| DatabaseEngineEdition |
資料庫引擎 版本 (繼承來源 ConnectionManager) |
| DatabaseEngineType |
回傳 SQL Server 的資料庫引擎類型。 例外:ConnectionFailureException (繼承來源 ConnectionManager) |
| DatabaseName |
待定 (繼承來源 ConnectionSettings) |
| EncryptConnection |
連接字串 是否指定「encrypt=true」 (繼承來源 ConnectionSettings) |
| FixedServerRoles |
回傳一個列舉,指定登入所屬的固定伺服器角色。 |
| HostNameInCertificate |
憑證中提供的主機名稱用於憑證驗證。 (繼承來源 ConnectionSettings) |
| HostPlatform |
伺服器的主機平台(Linux/Windows 等) (繼承來源 ConnectionManager) |
| InUse |
如果物件至少與伺服器連接過一次,則會回傳為真。 若屬實,則不再允許屬性變更,且當屬性變更時會拋出 ConnectionCannotBeChangedException。 (繼承來源 ConnectionManager) |
| IsContainedAuthentication |
如果資料庫引擎使用包含的認證來驗證,則會回傳為真。 例外:ConnectionFailureException (繼承來源 ConnectionManager) |
| IsForceDisconnected |
表示連線已被強制斷開 (繼承來源 ConnectionManager) |
| IsOpen |
如果 SqlConnection 物件與伺服器有連線,則會回傳 true。 這只能在非池化連線中回應,因為組化連線在操作結束後總是直接閉合。 (繼承來源 ConnectionManager) |
| LockTimeout |
LockTimeout 是指幾秒鐘內的鎖定超時。 預設 -1 是無限期的。 對於所有其他負數都會拋出 InvalidPropertyValueException。 正鎖定超時會乘以 1000,然後用於「設定LOCK_TIMEOUT」設定。 (繼承來源 ConnectionManager) |
| Login |
用來連接伺服器的 SQL Server 登入名稱。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException PropertyNotSetException (繼承來源 ConnectionSettings) |
| LoginSecure |
若設為 true,則使用 Windows 整合的安全機制,並忽略登入與密碼。 若未設定,則使用 SQL Server 認證。 例外:ConnectionCannotBeChangedException (繼承來源 ConnectionSettings) |
| MaxPoolSize |
集區中所允許的最大連接數。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException (繼承來源 ConnectionSettings) |
| MinPoolSize |
集區中維持的最小連接數。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException (繼承來源 ConnectionSettings) |
| MultipleActiveResultSets |
從連線啟用 MARS。 預設值為 false。 (繼承來源 ConnectionSettings) |
| NetworkProtocol |
識別用於連接 SQL Server 的用戶端網路協定。 如果你沒有指定網路,且使用本地伺服器,則會使用共享記憶體。 如果你沒有指定網路,且使用遠端伺服器,則會使用已設定的客戶端協定之一。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException (繼承來源 ConnectionSettings) |
| NonPooledConnection |
預設情況下,所有與 SQL Server 的連線都來自 ADO.NET 連線池。若設為 true,使用者可建立非池連線(關閉時不會重複使用)。 例外:ConnectionCannotBeChangedException (繼承來源 ConnectionSettings) |
| PacketSize |
網路封包的大小(以位元組計)與 SQL Server 實例通訊。 預設是 8192。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException (繼承來源 ConnectionSettings) |
| ParameterizationMode |
取得或設定一個值,表示 QueryParameterizationMode 所有 ServerConnection 實例使用的 QueryParameterizationMode |
| Password |
登入時用來連接伺服器的密碼。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException PropertyNotSetException (繼承來源 ConnectionSettings) |
| PooledConnectionLifetime |
當連線回傳到池時,會將其建立時間與當前時間比較,若該時間跨度(以秒計)超過連線壽命所規定的值,連線即被銷毀。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException (繼承來源 ConnectionSettings) |
| ProcessID |
ProcessID 屬性會回傳 ServerConnection 物件所使用的 SQL Server 程序識別碼。 |
| ProductVersion |
取得此連線的 ProductVersion 伺服器屬性 (繼承來源 ConnectionManager) |
| RequiresLogin |
如果 LoginSecure 和 Authentication 的當前值需要設定登入屬性,則會回傳 true。 (繼承來源 ConnectionSettings) |
| ResetConnectionString |
告訴我們 ConnectionManager 的 SqlConnectionObject 屬性是否需要重置 ConnectionString。 (繼承來源 ConnectionSettings) |
| SecureConnectionString |
該屬性會回傳使用者指定的 連接字串 版本,或是根據物件設定回傳計算出的 連接字串。 若明確設定,ServerConnection 物件中的所有屬性都會被填入以反映傳入的 連接字串。 例外:ConnectionCannotBeChangedException (繼承來源 ConnectionSettings) |
| SecurePassword |
登入時用來連接伺服器的密碼。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException PropertyNotSetException (繼承來源 ConnectionSettings) |
| ServerCertificate |
用於憑證驗證的伺服器憑證路徑。 (繼承來源 ConnectionSettings) |
| ServerInstance |
物件將連接的 SQL Server 名稱。 若未設定,則為本地伺服器。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException (繼承來源 ConnectionSettings) |
| ServerVersion |
回傳 SQL Server 的主要版本號。 例如 8 for SQL Server 2000。 例外:ConnectionFailureException (繼承來源 ConnectionManager) |
| SqlConnectionObject |
回傳 ConnectionContext 物件所使用的 SqlConnection 物件的參考。 這應該總是回傳有效的 sqlConnection 物件,且 ConnectionString 設定為最新有效。 例外:PropertyNotAvailableException (繼承來源 ConnectionManager) |
| SqlExecutionModes |
判斷 SQL 陳述式是否被擷取或傳送至伺服器。 |
| StatementTimeout |
這是陳述句嘗試傳送到伺服器後失敗的秒數。 預設是600秒(和希洛一樣)。 例外:InvalidPropertyValueException |
| StrictEncryption |
是否在 連接字串 中指定「encrypt=strict」。 當為真時,的 EncryptConnection 值會被忽略。 (繼承來源 ConnectionSettings) |
| TransactionDepth |
提供物件模型計算的交易深度。 這不包括任何可能在伺服器上啟動的交易,或是透過使用 ExecuteNonQuery 方法發出 BEGIN TRAN 所引發的交易。 |
| TrueLogin |
TrueLogin 屬性會回傳目前連線所使用的登入記錄名稱。 |
| TrueName |
TrueName 屬性會回傳Microsoft ® SQL Server全域函式的結果集@@INSTANCENAME。 |
| TrustServerCertificate |
請指示客戶端是否信任伺服器憑證 (繼承來源 ConnectionSettings) |
| UseMode |
取得或設定 DeferredUseMode 所有 ServerConnection 實例使用的 UseMode |
| UserProfile |
UserProfile 屬性會回傳目前連線所使用的 Microsoft SQL Server 登入的高層次角色描述。 |
| WorkstationId |
連接 SQL Server 的工作站名稱。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException (繼承來源 ConnectionSettings) |
方法
| 名稱 | Description |
|---|---|
| BeginTransaction() |
開始一筆新交易。 若 CaptureMode 為真,交易敘述將被加入擷取緩衝區。交易巢狀是可能的。 用戶負責提交或回滾每一筆已開啟的交易。 並不保證物件模型所發出的所有 T-SQL 都能被交易封裝。 此外,被變更物件的狀態直到交易提交或交易回滾後,才會反映實際的資料庫狀態。 使用者有責任重新整理受影響的物件。 請小心使用。 |
| Cancel() | |
| ChangePassword(SecureString) | |
| ChangePassword(String) | |
| CheckServerVersion(ServerVersion) |
確認我們是否連接到支援的伺服器版本。 ServerConnection 中的 block off <= 7.0。 (繼承來源 ConnectionManager) |
| CommitTransaction() |
認可交易。 若 CaptureMode 為真,交易指令將被加入擷取緩衝區。 例外:NotInTransactionException |
| Connect() |
建立與 SQL Server 的實際連線。 如果已經連結過,就忽略。 呼叫此方法為可選,因為連線會在需要時被開啟。 例外:ConnectionFailureException (繼承來源 ConnectionManager) |
| Copy() |
此函式執行深度複製 |
| Disconnect() |
關閉與 SQL Server 的連線。 如果已經斷線,就忽略。 例外:ConnectionFailureException (繼承來源 ConnectionManager) |
| ExecuteNonQuery(String, ExecutionTypes, Boolean) |
執行一個 T-SQL 陳述式。 指令終止符(「GO」)會被 ExecuteNonQuery 識別。 批次將分別發送並執行。 如果 CaptureMode 設為 true,則該語句會被記錄而非執行。 會回傳一個包含受影響列數的整數值。 若執行多個批次,則會回傳所有批次中受影響列的總數。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 例外:ConnectionFailureException ExecutionFailureExeception |
| ExecuteNonQuery(String, ExecutionTypes) |
執行一個 T-SQL 陳述式。 指令終止符(「GO」)會被 ExecuteNonQuery 識別。 批次將分別發送並執行。 如果 CaptureMode 設為 true,則該語句會被記錄而非執行。 會回傳一個包含受影響列數的整數值。 若執行多個批次,則會回傳所有批次中受影響列的總數。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 例外:ConnectionFailureException ExecutionFailureExeception |
| ExecuteNonQuery(String) | |
| ExecuteNonQuery(StringCollection, ExecutionTypes, Boolean) |
執行 StringCollection 中的 T-SQL 語句。 指令終止符(「GO」)會被 ExecuteNonQuery 識別。 使用 GO 語句分離的批次將被單獨傳送並執行。 如果 CaptureMode 設為 true,則該語句會被記錄而非執行。 會回傳一個整數值陣列,包含 StringCollection 中每個語句受影響的列數。 若執行多個批次,則會回傳所有批次中受影響列的總數。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 例外:ConnectionFailureException ExecutionFailureExeception |
| ExecuteNonQuery(StringCollection, ExecutionTypes) |
執行 StringCollection 中的 T-SQL 語句。 指令終止符(「GO」)會被 ExecuteNonQuery 識別。 使用 GO 語句分離的批次將被單獨傳送並執行。 如果 CaptureMode 設為 true,則該語句會被記錄而非執行。 會回傳一個整數值陣列,包含 StringCollection 中每個語句受影響的列數。 若執行多個批次,則會回傳所有批次中受影響列的總數。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 例外:ConnectionFailureException ExecutionFailureExeception |
| ExecuteNonQuery(StringCollection) | |
| ExecuteReader(String, SqlCommand) |
執行 T-SQL 語句。 會回傳一個 SqlDataReader 物件,可用來讀取 SQL Server 回傳的資料列串流。 同時回傳一個 SqlCommand 物件,若需要中止長期執行的查詢,可用來取消資料讀取管線。 它不會自動斷開例外:ConnectionFailureException 執行失敗Exeception |
| ExecuteReader(String, SqlCommand) |
執行 T-SQL 語句。 會回傳一個 SqlDataReader 物件,可用來讀取 SQL Server 回傳的資料列串流。 同時回傳一個 SqlCommand 物件,若需要中止長期執行的查詢,可用來取消資料讀取管線。 它不會自動斷開例外:ConnectionFailureException 執行失敗Exeception |
| ExecuteReader(String) |
執行 T-SQL 語句。 會回傳一個 SqlDataReader 物件,可用來讀取 SQL Server 回傳的資料列串流。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 它不會自動斷開例外:ConnectionFailureException 執行失敗Exeception |
| ExecuteScalar(String) |
執行一個 T-SQL 陳述式。 回傳一個包含結果集第一列第一欄的物件。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 例外:ConnectionFailureException ExecutionFailureExeception |
| ExecuteScalar(StringCollection) |
執行 StringCollection 中的 T-SQL 語句。 回傳一個物件陣列,每個陣列包含每個執行敘述結果集第一列的第一欄。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 例外:ConnectionFailureException ExecutionFailureExeception |
| ExecuteTSql(ConnectionManager+ExecuteTSqlAction, Object, DataSet, Boolean) |
根據傳遞的參數動作資訊,使用適當的方法執行 T-SQL。 (繼承來源 ConnectionManager) |
| ExecuteWithResults(String, Boolean) |
執行 sqlCommand 中的 T-SQL 語句。 會回傳一個包含結果的資料集。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 例外:ConnectionFailureException ExecutionFailureExeception |
| ExecuteWithResults(String) |
執行 sqlCommand 中的 T-SQL 語句。 會回傳一個包含結果的資料集。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 例外:ConnectionFailureException ExecutionFailureExeception |
| ExecuteWithResults(StringCollection) |
執行 StringCollection 中的 T-SQL 語句。 會回傳一個包含 StringCollection 中每個語句結果的 DataSets 陣列。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 例外:ConnectionFailureException ExecutionFailureExeception |
| ForceDisconnected() |
強制斷線並確保該連線無法再次開啟 (繼承來源 ConnectionManager) |
| GetDatabaseConnection(String, Boolean, IRenewableToken) |
回傳一個連接名稱中包含指定資料庫名稱的 連接字串。如果目前連線已經在參考該資料庫,則會回傳該連線。 |
| GetDatabaseConnection(String, Boolean) |
回傳一個連接,該連線名稱包含指定的資料庫名稱 連接字串。 如果目前連線已經在參考給定的資料庫,則會回傳該連線。 |
| IsInFixedServerRole(FixedServerRoles) |
測試登入是否屬於任何指定伺服器角色。 |
| NormalizeQuery(String, Boolean) |
將包含字面值的查詢翻譯成正規化形式(所有字面值都被標準標記替換) |
| NormalizeQuery(String) |
上述函數的過載——詳情請參見 |
| RollBackTransaction() |
中止交易(所有變更不會被儲存到資料庫中)。 若 CaptureMode 為真,交易指令將被加入擷取緩衝區。 例外:NotInTransactionException |
| ThrowIfPropertyNotSet(String, String, Boolean) | (繼承來源 ConnectionSettings) |
| ThrowIfPropertyNotSet(String, String) | (繼承來源 ConnectionSettings) |
| ToString() | (繼承來源 ConnectionSettings) |
事件
| 名稱 | Description |
|---|---|
| InfoMessage |
當 SQL Server 回傳警告或資訊訊息時,會發生這種情況。 使用 SqlClient.SqlInfoMessageEventHandler。 (繼承來源 ConnectionManager) |
| RemoteLoginFailed |
當伺服器需要連接遠端伺服器且登入失敗時呼叫 (繼承來源 ConnectionManager) |
| ServerMessage |
當 SQL Server 回傳警告或資訊訊息時,會發生這種情況。 使用 SqlClient.SqlInfoMessageEventHandler。 (繼承來源 ConnectionManager) |
| StateChange |
當連接的狀態變更時發生。 使用 System.Data.StateChangeEventHandler。 (繼承來源 ConnectionManager) |
| StatementExecuted | (繼承來源 ConnectionManager) |
明確介面實作
| 名稱 | Description |
|---|---|
| ISfcConnection.Connect() | |
| ISfcConnection.Copy() | |
| ISfcConnection.Disconnect() | |
| ISfcConnection.ServerVersion | |
| ISfcConnection.ToEnumeratorObject() | |