Класс 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 для SQL Server Compact. (унаследовано из SqlCeException)
Открытое свойство HelpLink (унаследовано из Exception)
Открытое свойство HResult Возвращает значение HRESULT для исключения. Это то же самое значение, что доступно через свойство HResult первого экземпляра объекта SqlCeError в коллекции SqlCeErrorCollection для данного исключения. (унаследовано из SqlCeException)
Открытое свойство InnerException (унаследовано из Exception)
Открытое свойство Message Возвращает текст, описывающий первый экземпляр SqlCeError в коллекции SqlCeErrorCollection для данного исключения. (унаследовано из SqlCeException)
Открытое свойство NativeError Возвращает собственный код ошибки первого экземпляра SqlCeError коллекции SqlCeErrorCollection. Дополнительные сведения об ошибках см. в подразделе «Ошибки 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);
            }
        }

Безопасность многопоточности

Все общие статические члены (Shared в Microsoft Visual Basic) этого типа можно использовать в потокобезопасных операциях. Потокобезопасная работа с членами экземпляров типа не гарантируется.

См. также

Справочник

Пространство имен System.Data.SqlServerCe