データをプッシュする方法 (プログラム)

このトピックでは、SqlCeRemoteDataAccess クラスを使用して、Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) データベースから Microsoft SQL Server データベースにデータをプッシュする方法について学習します。SqlServerCe 名前空間の使用については、SqlServerCe 名前空間のリファレンス ドキュメントを参照してください。

リモート データ アクセスを使用してデータをプッシュするには

  1. SqlCeRemoteDataAccess オブジェクトを初期化して、接続のプロパティを設定します。

    SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess("https://www.adventure-works.com/sqlmobile/sqlcesa30.dll", "Data Source=MyDatabase.sdf");
    
  2. Push メソッドを呼び出し、プッシュするデータが存在するローカルの SQL Server Compact Edition テーブルの名前と、SQL Server データベースへの接続文字列を渡します。また、使用するバッチ オプションを指定することもできます。

    rda.Push("MyLocalTable", rdaOleDbConnectString, RdaBatchOption.BatchingOn);
    

使用例

このサンプルでは、SQL Server Compact Edition データベースの MyLocalTable テーブルから、MySqlServer という SQL Server インスタンス上にある AdventureWorks データベースにデータをプッシュする方法を示します。

string rdaOleDbConnectString = @"Provider=SQLOLEDB; Data Source=MySqlServer;
    Initial Catalog=AdventureWorks; User Id=username;
    Password = <password>";

        // Initialize RDA Object
        //
        SqlCeRemoteDataAccess rda = null;

        try
        {
            // Try the Push Operation
            //
            rda = new SqlCeRemoteDataAccess(
                "https://www.adventure-works.com/sqlmobile/sqlcesa30.dll",
                "Data Source=MyDatabase.sdf");

            rda.InternetLogin = "MyLogin";
            rda.InternetPassword = "<password>";

            rda.Push("MyLocalTable", rdaOleDbConnectString, RdaBatchOption.BatchingOn);

            // or, try this overload:
            //
            // rda.Push("MyLocalTable", rdaOleDbConnectString);
        }
        catch (SqlCeException)
        {
            // Handle errors here
            //
        }
        finally
        {
            // Dispose of the RDA Object
            //
            rda.Dispose();
        }
Dim rdaOleDbConnectString As String = _
 "Provider=SQLOLEDB; "Data Source=MySqlServer;Initial Catalog=AdventureWorks; "
            "User Id=username;Password = <password>"

        ' Initialize RDA Object
        '
        Dim rda As SqlCeRemoteDataAccess = Nothing

        Try
            ' Try the Push Operation
            '
            rda = New SqlCeRemoteDataAccess( _
                "https://www.adventure-works.com/sqlmobile/sqlcesa30.dll", _
                "Data Source=MyDatabase.sdf")

            rda.InternetLogin = "MyLogin"
            rda.InternetPassword = "<password>"

            rda.Push("MyLocalTable", rdaOleDbConnectString, RdaBatchOption.BatchingOn)

            ' or, try this overload:
            '
            ' rda.Push("MyLocalTable", rdaOleDbConnectString)

        Catch
            ' Handle errors here
            '
        Finally
            ' Dispose of the RDA Object
            '
            rda.Dispose()
        End Try

参照

概念

リモート データ アクセス (RDA) の概要
クライアントからサーバーへのデータのプッシュ

ヘルプおよび情報

SQL Server Compact Edition のサポートについて