共用方式為


Push 方法 (String, String, RdaBatchOption)

將 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, _
    batchOption As RdaBatchOption _
)
'用途
Dim instance As SqlCeRemoteDataAccess
Dim localTableName As String
Dim oleDBConnectionString As String
Dim batchOption As RdaBatchOption

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

參數

  • localTableName
    型別:System. . :: . .String
    SQL Server Compact 3.5 資料表的名稱,此資料表將接收擷取的 SQL Server 資料錄。如果資料表已經存在,便會發生錯誤。

備註

應用程式會呼叫 Push 方法,將提取之追蹤 SQL Server Compact 3.5 資料表的變更傳送回 SQL Server 資料表。應用程式必須已藉由呼叫 Pull 方法 (將 RdaTrackOption 設定為 TrackingOnTrackingOnWithIndexes) 建立本機 SQL Server Compact 3.5 資料表。

oledbConnectionString 會指定連接到 SQL Server 時所使用的所有連接資訊。

如果使用 SQL Server 驗證,則 OLEDBConnectionString 中指定的使用者識別碼必須具有讀取 SQL Server 資料表的權限。

如果在 OLEDBConnectionString 中設定 INTEGRATED SECURITY="SSPI" 來使用 Windows 驗證,則網際網路使用者必須具有讀取 SQL Server 資料表的權限。下列各項作業將根據驗證方法識別網際網路使用者:

  • 當 Microsoft Internet Information Services (IIS) 虛擬目錄設定為使用匿名存取時,網際網路使用者會在「網際網路來賓帳戶」(IUSR_computername) 的識別之下執行。如果您將另一個 Windows 使用者帳戶設定為「網際網路來賓帳戶」,網際網路使用者會在該帳戶的識別之下執行。

  • 當 IIS 虛擬目錄設定為使用基本驗證時,網際網路使用者會在 Windows 使用者帳戶 (用戶端已提供網際網路使用者和密碼) 的識別之下執行。

  • 當 IIS 虛擬目錄設定為使用整合式 Windows 驗證時,網際網路使用者會在 Windows 使用者帳戶 (用戶端已提供網際網路使用者和密碼) 的識別之下執行。

如果在呼叫 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 命名空間