次の方法で共有


SqlCeRemoteDataAccess.Push メソッド (String, String, RdaBatchOption)

メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。

プルされ、追跡されている SQL Server CE テーブルから、SQL Server テーブルへ、変更を送り返します。これらの変更は、個別にサーバーに適用するか、または 1 つのトランザクションでバッチ処理できます。

Overloads Public Sub Push( _
   ByVal localTableName As String, _   ByVal oledbConnectionString As String, _   ByVal batchOption As RdaBatchOption _)
[C#]
public void Push(stringlocalTableName,stringoledbConnectionString,RdaBatchOptionbatchOption);
[C++]
public: void Push(String* localTableName,String* oledbConnectionString,RdaBatchOptionbatchOption);
[JScript]
public function Push(
   localTableName : String,oledbConnectionString : String,batchOption : RdaBatchOption);

パラメータ

  • localTableName
    取得された SQL Server のレコードを受け取る SQL Server CE のテーブルの名前。テーブルが既に存在する場合は、エラーが発生します。
  • oledbConnectionString
    SQL Server CE データベースに接続するときに使用する OLE DB 接続文字列。
  • batchOption
    SQL Server テーブルに送り返す変更を 1 つのトランザクションでバッチ処理するか、個別に適用するかを示すオプション。

解説

アプリケーションで Push メソッドを呼び出して、プルされ、追跡されている SQL Server CE テーブルから SQL Server テーブルへ、変更を送り返します。アプリケーションでは、 RdaTrackOptionTrackingOn または TrackingOnWithIndexes に設定して Pull メソッドを呼び出して、SQL Server CE のローカル テーブルを作成しておく必要があります。

oledbConnectionString で、SQL Server に接続するときに使用する接続情報をすべて指定します。

SQL Server 認証を使用する場合、OLEDBConnectionString に指定したユーザー ID は、SQL Server のテーブルの読み取り権限を持っている必要があります。

OLEDBConnectionString で INTEGRATED SECURITY="SSPI" を設定して Windows 認証を使用する場合、インターネット ユーザーは SQL Server のテーブルの読み取り権限を持っている必要があります。インターネット ユーザーは、次のように認証方法に基づいて識別されます。

  • Microsoft Internet Information Services (IIS) の仮想ディレクトリが匿名アクセスを使用するように構成されている場合、インターネット ユーザーは、インターネット ゲスト アカウント (IUSR_computername) の ID で実行されます。別の Windows ユーザー アカウントをインターネット ゲスト アカウントとして構成した場合、インターネット ユーザーはそのアカウントの ID として実行されます。
  • IIS の仮想ディレクトリが基本認証を使用するように構成されている場合、インターネット ユーザーは、クライアントから指定されたインターネット ユーザーの名前とパスワードに対応する Windows ユーザー アカウントの ID で実行されます。
  • IIS の仮想ディレクトリが統合 Windows 認証を使用するように構成されている場合、インターネット ユーザーは、クライアントから指定されたインターネット ユーザーの名前とパスワードに対応する Windows ユーザー アカウントの ID で実行されます。

Pull メソッドの呼び出し時に errorTableName が指定された場合、 Push 中に検出されたエラーは、すべてそのエラー テーブルに記録されます。エラー テーブルの処理方法の詳細については、SQL Server CE Books Online の「RDA Conflict Detection and Resolution」を参照してください。

使用例

 
' Connection String to the SQL Server.
Dim rdaOleDbConnectString As String = _
    "Provider=sqloledb; Data Source=MySqlServer;Initial Catalog=Northwind; " + "User Id=username;Password = <password>"

' Initialize RDA Object.
Dim rda As SqlCeRemoteDataAccess = Nothing

Try
   'Try the Pull Operation.
   rda = New SqlCeRemoteDataAccess()
   
   rda.InternetLogin         = "MyLogin"
   rda.InternetPassword      = "<password>"
   rda.InternetUrl           = "<http://www.northwindtraders.com/sqlce/sscesa20.dll>"
   rda.LocalConnectionString = "Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0;Data Source=\ssce.sdf"
   
   rda.Push("MyLocalTable", rdaOleDbConnectString, RdaBatchOption.BatchingOn)

Catch e As SqlCeException
'Use you own Error Handling Routine.
'ShowErrors(e);
Finally
   'Dispose of the RDA Object.
   rda.Dispose()
End Try

[C#] 

        // Connection String to the SQL Server.
        string rdaOleDbConnectString  = "Provider=sqloledb; Data Source=MySqlServer;Initial Catalog=Northwind; " +
            "User Id=username;Password = <password>"; 
                                      
        // Initialize RDA Object.
        SqlCeRemoteDataAccess rda = null;

        try {
            //Try the Pull Operation.
            rda = new SqlCeRemoteDataAccess();
            
            rda.InternetLogin          = "MyLogin";
            rda.InternetPassword       = "<password>";
            rda.InternetUrl            = "<http://www.northwindtraders.com/sqlce/sscesa20.dll>";
            rda.LocalConnectionString  = @"Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0;Data Source=\ssce.sdf";
           
            rda.Push("MyLocalTable", 
                rdaOleDbConnectString, 
                RdaBatchOption.BatchingOn);
        }
        catch(SqlCeException) {
            //Use you own Error Handling Routine.
        }
        finally {
            //Dispose of the RDA Object.
            rda.Dispose();
        }

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: .NET Compact Framework - Windows CE .NET

.NET Framework セキュリティ:

参照

SqlCeRemoteDataAccess クラス | SqlCeRemoteDataAccess メンバ | System.Data.SqlServerCe 名前空間 | SqlCeRemoteDataAccess.Push オーバーロードの一覧