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 資料錄。如果資料表已經存在,便會發生錯誤。
- oleDBConnectionString
型別:System. . :: . .String
- batchOption
型別:System.Data.SqlServerCe. . :: . .RdaBatchOption
這個選項指出要傳回 SQL Server 資料表的變更應於單一交易中一起批次處理,或是應該個別套用。
備註
應用程式會呼叫 Push 方法,將提取之追蹤 SQL Server Compact 3.5 資料表的變更傳送回 SQL Server 資料表。應用程式必須已藉由呼叫 Pull 方法 (將 RdaTrackOption 設定為 TrackingOn 或 TrackingOnWithIndexes) 建立本機 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();
}