Share via


Classe SqlCeLockTimeoutException

Esta exceção será lançada se o tempo limite do bloqueio for atingido.

Hierarquia de herança

System.Object
  System.Exception
    System.SystemException
      System.Runtime.InteropServices.ExternalException
        System.Data.Common.DbException
          System.Data.SqlServerCe.SqlCeException
            System.Data.SqlServerCe.SqlCeLockTimeoutException

Namespace:  System.Data.SqlServerCe
Assembly:  System.Data.SqlServerCe (em System.Data.SqlServerCe.dll)

Sintaxe

'Declaração
<SerializableAttribute> _
Public Class SqlCeLockTimeoutException _
    Inherits SqlCeException
'Uso
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

O tipo SqlCeLockTimeoutException expõe os membros a seguir.

Construtores

  Nome Descrição
Método protegido SqlCeLockTimeoutException Construtor que auxilia na serialização.

Início

Propriedades

  Nome Descrição
Propriedade pública Data (herança de Exception)
Propriedade pública ErrorCode (herança de ExternalException)
Propriedade pública Errors Obtém uma coleção de um ou mais objetos SqlCeError que contêm informações detalhadas sobre as exceções geradas pelo Provedor de Dados do .NET Compact Framework para SQL Server Compact. (herança de SqlCeException)
Propriedade pública HelpLink (herança de Exception)
Propriedade pública HResult Obtém o valor HRESULT da exceção. Esse valor é igual ao valor de HResult para a primeira instância de SqlCeError na SqlCeErrorCollection para a exceção. (herança de SqlCeException)
Propriedade pública InnerException (herança de Exception)
Propriedade pública Message Obtém o texto que descreve a primeira instância de SqlCeError na SqlCeErrorCollection para esta exceção. (herança de SqlCeException)
Propriedade pública NativeError Obtém o número do erro nativo do primeiro SqlCeError da SqlCeErrorCollection. Para obter mais informações sobre o erro, consulte o tópico "Erros do SQL Server Compact" na seção de Solução de Problemas dos Manuais Online do SQL Server Compact. (herança de SqlCeException)
Propriedade pública Source Obtém o nome do provedor OLE DB que gerou o erro. (herança de SqlCeException)
Propriedade pública StackTrace (herança de Exception)
Propriedade pública TargetSite (herança de Exception)

Início

Métodos

  Nome Descrição
Método público Equals (herança de Object)
Método protegido Finalize (herança de Object)
Método público GetBaseException (herança de Exception)
Método público GetHashCode (herança de Object)
Método público GetObjectData Segurança crítica. Popula um SerializationInfo com os dados necessários para serializar o objeto. (Substitui SqlCeException.GetObjectData(SerializationInfo, StreamingContext).)
Método público GetType (herança de Exception)
Método protegido MemberwiseClone (herança de Object)
Método público ToString (herança de Exception)

Início

Comentários

Para obter mais informações, consulte o tópico "Bloqueando o (SQL Server Compact)" nos Manuais Online do SQL Server Compact.

Exemplos

        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);
            }
        }

Segurança de thread

Qualquer membro estático público (Shared no Microsoft Visual Basic) desse tipo é seguro para threads. Não há garantia de que qualquer membro de instância seja seguro para threads.

Consulte também

Referência

Namespace System.Data.SqlServerCe