SqlCeLockTimeoutException 類別
如果已達到鎖定逾時,會擲回這個例外狀況。
繼承階層
System.Object
System.Exception
System.SystemException
System.Runtime.InteropServices.ExternalException
System.Data.Common.DbException
System.Data.SqlServerCe.SqlCeException
System.Data.SqlServerCe.SqlCeLockTimeoutException
命名空間: System.Data.SqlServerCe
組件: System.Data.SqlServerCe (在 System.Data.SqlServerCe.dll 中)
語法
'宣告
<SerializableAttribute> _
Public Class SqlCeLockTimeoutException _
Inherits SqlCeException
'用途
Dim instance As SqlCeLockTimeoutException
[SerializableAttribute]
public class SqlCeLockTimeoutException : SqlCeException
[SerializableAttribute]
public ref class SqlCeLockTimeoutException : public SqlCeException
[<SerializableAttribute>]
type SqlCeLockTimeoutException =
class
inherit SqlCeException
end
public class SqlCeLockTimeoutException extends SqlCeException
SqlCeLockTimeoutException 型別公開下列成員。
建構函式
名稱 | 說明 | |
---|---|---|
SqlCeLockTimeoutException | 協助序列化的建構函式。 |
上層
屬性
名稱 | 說明 | |
---|---|---|
Data | (繼承自 Exception) | |
ErrorCode | (繼承自 ExternalException) | |
Errors | 取得一個或多個SqlCeError 物件的集合,這些物件包含由 .NET Compact Framework Data Provider for SQL Server Compact 所產生之例外狀況的相關詳細資訊。 (繼承自 SqlCeException) | |
HelpLink | (繼承自 Exception) | |
HResult | 取得例外狀況的 HRESULT 值。這個值與例外狀況的 SqlCeErrorCollection 中的第一個 SqlCeError 執行個體的 HResult 值相同。 (繼承自 SqlCeException) | |
InnerException | (繼承自 Exception) | |
Message | 取得描述此例外狀況的 SqlCeErrorCollection 中第一個 SqlCeError 執行個體的文字。 (繼承自 SqlCeException) | |
NativeError | 取得 SqlCeErrorCollection 中第一個 SqlCeError 的原生錯誤號碼。如需有關此錯誤的詳細資訊,請參閱《SQL Server Compact 線上叢書》中<疑難排解>一節內的「SQL Server Compact 錯誤」主題。 (繼承自 SqlCeException) | |
Source | 取得產生錯誤的 OLE DB 提供者名稱。 (繼承自 SqlCeException) | |
StackTrace | (繼承自 Exception) | |
TargetSite | (繼承自 Exception) |
上層
方法
名稱 | 說明 | |
---|---|---|
Equals | (繼承自 Object) | |
Finalize | (繼承自 Object) | |
GetBaseException | (繼承自 Exception) | |
GetHashCode | (繼承自 Object) | |
GetObjectData | 安全性關鍵。 使用序列化物件時所需的資料來擴展 SerializationInfo。 (覆寫 SqlCeException.GetObjectData(SerializationInfo, StreamingContext)。) | |
GetType | (繼承自 Exception) | |
MemberwiseClone | (繼承自 Object) | |
ToString | (繼承自 Exception) |
上層
備註
如需詳細資訊,請參閱《SQL Server Compact 線上叢書》中的<鎖定 (SQL Server Compact)>主題。
範例
Dim timeout As New TimeSpan(0, 0, 15) 'hours, minutes, seconds
Dim startTime As DateTime = DateTime.Now
While DateTime.Now - startTime < timeout
Try
Dim repl As New SqlCeReplication()
repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa35.dll"
repl.Publisher = "myPublisher"
repl.PublisherDatabase = "AdventureWorks"
repl.PublisherSecurityMode = SecurityType.NTAuthentication
repl.Publication = "AdventureWorks"
repl.Subscriber = "Test"
repl.SubscriberConnectionString = "Data Source='MyDatabase.sdf';Password='';"
repl.Synchronize()
Catch exInProgress As SqlCeTransactionInProgressException
Thread.Sleep(3000)
GoTo ContinueWhile1
Catch exTimeout As SqlCeLockTimeoutException
' Add your own error-handling logic here
GoTo ContinueWhile1
Catch e As SqlCeException
MessageBox.Show(e.Message)
End Try
ContinueWhile1:
End While
TimeSpan timeout = new TimeSpan(0 /*hours*/, 0 /* minutes */ , 15 /*seconds*/);
DateTime startTime = DateTime.Now;
while (DateTime.Now - startTime < timeout)
{
try
{
SqlCeReplication repl = new SqlCeReplication();
repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa35.dll";
repl.Publisher = "myPublisher";
repl.PublisherDatabase = "AdventureWorks";
repl.PublisherSecurityMode = SecurityType.NTAuthentication;
repl.Publication = "AdventureWorks";
repl.Subscriber = "Test";
repl.SubscriberConnectionString = "Data Source='MyDatabase.sdf';Password='';";
repl.Synchronize();
}
catch (SqlCeTransactionInProgressException)
{
Thread.Sleep(3000);
continue;
}
catch (SqlCeLockTimeoutException)
{
//add your own error-handling logic here
}
catch (SqlCeException e)
{
MessageBox.Show(e.Message);
}
}
執行緒安全性
這個類型的任何公用靜態 (在 Microsoft Visual Basic 中為 Shared) 成員都是執行緒安全的。並不是所有的執行個體成員都保證可以用於所有的執行緒。