次の方法で共有


Push メソッド (String, String)

プルされ、追跡されている SQL Server Compact 3.5 のテーブルから元の SQL Server テーブルへ、変更を送り返します。これらの変更は、個々のトランザクションで、個別にサーバーに適用されます。

名前空間:  System.Data.SqlServerCe
アセンブリ:  System.Data.SqlServerCe (System.Data.SqlServerCe.dll)

構文

'宣言
Public Sub Push ( _
    localTableName As String, _
    oleDBConnectionString As String _
)
'使用
Dim instance As SqlCeRemoteDataAccess
Dim localTableName As String
Dim oleDBConnectionString As String

instance.Push(localTableName, oleDBConnectionString)
public void Push(
    string localTableName,
    string oleDBConnectionString
)
public:
void Push(
    String^ localTableName, 
    String^ oleDBConnectionString
)
member Push : 
        localTableName:string * 
        oleDBConnectionString:string -> unit 
public function Push(
    localTableName : String, 
    oleDBConnectionString : String
)

パラメーター

  • localTableName
    型: System. . :: . .String
    抽出された SQL Server のレコードを受け取る SQL Server Compact 3.5 のテーブルの名前。同名のテーブルが既に存在する場合、エラーが発生します。

説明

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

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

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

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

  • Microsoft インターネット インフォメーション サービス (IIS) の仮想ディレクトリが匿名アクセスを使用するように構成されている場合、インターネット ユーザーは、インターネット ゲスト アカウント (IUSR_computername) の ID を使用することになります。別の Windows ユーザー アカウントをインターネット ゲスト アカウントとして構成した場合、インターネット ユーザーはそのアカウントの ID を使用することになります。

  • IIS の仮想ディレクトリが基本認証を使用するように構成されている場合、インターネット ユーザーは、クライアントから指定されたインターネット ユーザーの名前とパスワードに対応する Windows ユーザー アカウントの ID を使用することになります。

  • IIS の仮想ディレクトリが統合 Windows 認証を使用するように構成されている場合、インターネット ユーザーは、クライアントから指定されたインターネット ユーザーの名前とパスワードに対応する Windows ユーザー アカウントの ID を使用することになります。

Pull メソッドの呼び出し時に errorTableName が指定された場合、Push の実行中に検出されたエラーは、すべてそのエラー テーブルに記録されます。エラー テーブルの処理方法の詳細については、SQL Server Compact 3.5 オンライン ブックの「RDA の競合の検出と解決」を参照してください。

使用例

SqlCeRemoteDataAccess オブジェクトを作成し、いくつかのプロパティを設定して、Push メソッドを呼び出す例を次に示します。

' Connection String to the SQL Server
'
Dim rdaOleDbConnectString As String = "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/sqlcesa35.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
// Connection String to the SQL Server
//
string rdaOleDbConnectString = "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/sqlcesa35.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();
}

関連項目

参照

SqlCeRemoteDataAccess クラス

SqlCeRemoteDataAccess メンバー

Push オーバーロード

System.Data.SqlServerCe 名前空間