Condividi tramite


Classe SqlCeLockTimeoutException

Questa eccezione viene generata quando viene raggiunto il timeout di blocco.

Gerarchia di ereditarietà

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

Spazio dei nomi  System.Data.SqlServerCe
Assembly:  System.Data.SqlServerCe (in System.Data.SqlServerCe.dll)

Sintassi

'Dichiarazione
<SerializableAttribute> _
Public Class SqlCeLockTimeoutException _
    Inherits SqlCeException
'Utilizzo
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

Nel tipo SqlCeLockTimeoutException sono esposti i membri seguenti.

Costruttori

  Nome Descrizione
Metodo protetto SqlCeLockTimeoutException Costruttore che consente la serializzazione.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica Data (ereditato da Exception)
Proprietà pubblica ErrorCode (ereditato da ExternalException)
Proprietà pubblica Errors Ottiene una raccolta di uno o più oggetti SqlCeError che contengono informazioni dettagliate relative alle eccezioni generate dal provider di dati .NET Compact Framework per SQL Server Compact. (ereditato da SqlCeException)
Proprietà pubblica HelpLink (ereditato da Exception)
Proprietà pubblica HResult Ottiene il valore HRESULT dell'eccezione. Questo valore equivale a quello della proprietà HResult per la prima istanza dell'oggetto SqlCeError nell'oggetto SqlCeErrorCollection per l'eccezione. (ereditato da SqlCeException)
Proprietà pubblica InnerException (ereditato da Exception)
Proprietà pubblica Message Ottiene il testo che descrive la prima istanza dell'oggetto SqlCeError nell'oggetto SqlCeErrorCollection per questa eccezione. (ereditato da SqlCeException)
Proprietà pubblica NativeError Ottiene il numero di errore nativo del primo oggetto SqlCeError nell'oggetto SqlCeErrorCollection. Per ulteriori informazioni sugli errori, vedere l'argomento relativo agli errori in SQL Server Compact nella sezione sulla risoluzione dei problemi della documentazione online di SQL Server Compact. (ereditato da SqlCeException)
Proprietà pubblica Source Ottiene il nome del provider OLE DB che ha generato l’errore. (ereditato da SqlCeException)
Proprietà pubblica StackTrace (ereditato da Exception)
Proprietà pubblica TargetSite (ereditato da Exception)

In alto

Metodi

  Nome Descrizione
Metodo pubblico Equals (ereditato da Object)
Metodo protetto Finalize (ereditato da Object)
Metodo pubblico GetBaseException (ereditato da Exception)
Metodo pubblico GetHashCode (ereditato da Object)
Metodo pubblico GetObjectData Criticità per la sicurezza. Popola un oggetto SerializationInfo con i dati necessari per serializzare l'oggetto. Esegue l'override di SqlCeException.GetObjectData(SerializationInfo, StreamingContext).
Metodo pubblico GetType (ereditato da Exception)
Metodo protetto MemberwiseClone (ereditato da Object)
Metodo pubblico ToString (ereditato da Exception)

In alto

Osservazioni

Per ulteriori informazioni, vedere la sezione relativa al blocco (SQL Server Compact) nella documentazione online di SQL Server Compact.

Esempi

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

Protezione dei thread

I membri statici pubblici (Shared in Microsoft Visual Basic) di questo tipo sono thread-safe. Non è invece garantita la sicurezza dei membri dell'istanza.

Vedere anche

Riferimento

Spazio dei nomi System.Data.SqlServerCe