Replication オブジェクトを使用してデータベースを作成する方法 (プログラム)
ここでは、プログラムで SqlServerCe.Replication オブジェクトの AddSubscription メソッドを呼び出して、Microsoft SQL Server Compact 3.5 データベースを作成する方法について学習します。SqlServerCe 名前空間の使用については、SqlServerCe 名前空間のリファレンス ドキュメントを参照してください。
SQL Server Compact 3.5 での手順
Replication オブジェクトを使用してデータベースを作成するには
新しい Replication オブジェクトを初期化します。
SqlCeReplication repl = new SqlCeReplication();
Replication オブジェクトのプロパティを設定します。これらのプロパティには、SQL Server パブリッシャに接続するために必要な情報を含めることができます。SubscriberConnectionString プロパティでは、作成するデータベースのファイル名と場所を指定します。
repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf"; repl.InternetUrl = "https://www.adventure-works.com/" + "sqlmobile/sqlcesa35.dll"; repl.InternetLogin = "MyInternetLogin"; repl.InternetPassword = "<password>"; repl.Publisher = "MyPublisher"; repl.PublisherDatabase = "MyPublisherDatabase"; repl.PublisherLogin = "MyPublisherLogin"; repl.PublisherPassword = "<password>"; repl.Publication = "MyPublication"; repl.Subscriber = "MySubscriber";
AddSubscription メソッドを呼び出し、AddOption.CreateDatabase を渡します。
repl.AddSubscription(AddOption.CreateDatabase);
Replication オブジェクトを使用して大文字と小文字が区別されるデータベースを作成するには
新しい Replication オブジェクトを初期化します。
SqlCeReplication repl = new SqlCeReplication();
Replication オブジェクトのプロパティを設定します。これらのプロパティには、SQL Server パブリッシャに接続するために必要な情報を含めることができます。SubscriberConnectionString プロパティでは、作成するデータベースのファイル名と場所を指定します。また、SubscriberConnectionString プロパティは新しい "Case sensitive" プロパティをサポートします。このプロパティは、大文字と小文字が区別されるサブスクリプション データベースの作成に使用されます。大文字と小文字が区別されるデータベースの詳細については、「照合順序の使用 (SQL Server Compact)」を参照してください。
repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf; LCID=1033; Case Sensitive=true"; repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa35.dll"; repl.InternetLogin = "MyInternetLogin"; repl.InternetPassword = "<password>"; repl.Publisher = "MyPublisher"; repl.PublisherDatabase = "MyPublisherDatabase"; repl.PublisherLogin = "MyPublisherLogin"; repl.PublisherPassword = "<password>"; repl.Publication = "MyPublication"; repl.Subscriber = "MySubscriber";
AddSubscription メソッドを呼び出し、AddOption.CreateDatabase パラメータを渡します。
repl.AddSubscription(AddOption.CreateDatabase);
使用例
次の例は、Replication オブジェクトを作成してデータベースとサブスクリプションのプロパティを設定し、AddSubscription メソッドを呼び出すことによって新しいデータベースを作成する方法を示しています。
SqlCeReplication repl = null;
try
{
// Instantiate and configure SqlCeReplication object
//
repl = new SqlCeReplication();
repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa35.dll";
repl.InternetLogin = "MyInternetLogin";
repl.InternetPassword = "<password>";
repl.Publisher = "MyPublisher";
repl.PublisherDatabase = "MyPublisherDatabase";
repl.PublisherLogin = "MyPublisherLogin";
repl.PublisherPassword = "<password>";
repl.Publication = "MyPublication";
repl.Subscriber = "MySubscriber";
repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf";
// Create a local database subscription
//
repl.AddSubscription(AddOption.CreateDatabase);
// Synchronize to the SQL Server database
//
repl.Synchronize();
}
catch (SqlCeException)
{
// Handle errors here
//
}
finally
{
// Dispose the repl object
//
repl.Dispose();
}
Dim repl As SqlCeReplication = Nothing
Try
' Instantiate and configure SqlCeReplication object
'
repl = New SqlCeReplication()
repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa35.dll"
repl.InternetLogin = "MyInternetLogin"
repl.InternetPassword = "<password>"
repl.Publisher = "MyPublisher"
repl.PublisherDatabase = "MyPublisherDatabase"
repl.PublisherLogin = "MyPublisherLogin"
repl.PublisherPassword = "<password>"
repl.Publication = "MyPublication"
repl.Subscriber = "MySubscriber"
repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf"
' Create the local database subscription
'
repl.AddSubscription(AddOption.CreateDatabase)
' Synchronize to the SQL Server to populate the subscription
'
repl.Synchronize()
Catch
' Handle errors here
'
Finally
' Dispose the repl object
'
repl.Dispose()
End Try