次の方法で共有


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) のすべてのメンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

関連項目

参照

System.Data.SqlServerCe 名前空間