SqlCeRemoteDataAccess.Push Method (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 _
)
public void Push (
string localTableName,
string oleDBConnectionString
)
public:
void Push (
String^ localTableName,
String^ oleDBConnectionString
)
public void Push (
String localTableName,
String oleDBConnectionString
)
public function Push (
localTableName : String,
oleDBConnectionString : String
)
パラメータ
- localTableName
抽出された SQL Server のレコードを受け取る SQL Server Compact 3.5 のテーブルの名前。同名のテーブルが既に存在する場合、エラーが発生します。
- oleDBConnectionString
解説
アプリケーションで Push メソッドを呼び出して、プルされ、追跡されている SQL Server Compact 3.5 テーブルから SQL Server テーブルへ、変更を送り返します。アプリケーションでは、RdaTrackOption を TrackingOn または 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();
}
スレッド セーフ
この型の 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 でサポート
参照
リファレンス
SqlCeRemoteDataAccess Class
SqlCeRemoteDataAccess Members
System.Data.SqlServerCe Namespace