Класс 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) этого типа можно использовать в потокобезопасных операциях. Потокобезопасная работа с членами экземпляров типа не гарантируется.