SqlCeTransactionInProgressException Class
別のトランザクションの進行中に、データベースを変更しようとすると、発生します。
名前空間: System.Data.SqlServerCe
アセンブリ: System.Data.SqlServerCe (system.data.sqlserverce.dll 内)
構文
'宣言
Public Class SqlCeTransactionInProgressException
Inherits SqlCeException
public class SqlCeTransactionInProgressException : SqlCeException
public ref class SqlCeTransactionInProgressException : public SqlCeException
public class SqlCeTransactionInProgressException extends SqlCeException
public class SqlCeTransactionInProgressException extends SqlCeException
継承階層
System.Object
System.Exception
System.SystemException
System.Data.SqlServerCe.SqlCeException
System.Data.SqlServerCe.SqlCeTransactionInProgressException
例
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 (Visual Basic では Shared ) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
開発プラットフォーム
Windows Vista、Windows Mobile 5.0、Windows XP Professional with Service Pack 2 (SP2)、Windows Server 2003、Windows Mobile 2003 for Pocket PC、Windows CE 5.0
バージョン情報
.NET Framework および .NET Compact Framework
3.5 でサポート
.NET Framework
3.0 でサポート
.NET Compact Framework および .Net Framework
2.0 でサポート
参照
リファレンス
SqlCeTransactionInProgressException Members
System.Data.SqlServerCe Namespace