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 | シリアル化で役立つコンストラクター。 |
Top
プロパティ
名前 | 説明 | |
---|---|---|
Data | (Exception から継承されます。) | |
ErrorCode | (ExternalException から継承されます。) | |
Errors | .NET Compact Framework Data Provider for SQL Server Compact が生成する例外の詳細情報を含む、1 つ以上の SqlCeError オブジェクトのコレクションを取得します。 (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 から継承されます。) |
Top
メソッド
名前 | 説明 | |
---|---|---|
Equals | (Object から継承されます。) | |
Finalize | (Object から継承されます。) | |
GetBaseException | (Exception から継承されます。) | |
GetHashCode | (Object から継承されます。) | |
GetObjectData | セキュリティ クリティカル。 オブジェクトのシリアル化に必要なデータを SerializationInfo に格納します。 (SqlCeException.GetObjectData(SerializationInfo, StreamingContext) をオーバーライドします。) | |
GetType | (Exception から継承されます。) | |
MemberwiseClone | (Object から継承されます。) | |
ToString | (Exception から継承されます。) |
Top
説明
詳細については、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);
}
}
スレッド セーフ
この型の public static (Microsoft Visual Basic では Shared) のすべてのメンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。