将 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 中指定的用户 ID 必须拥有读取 SQL Server 表的授权。
如果通过在 OLEDBConnectionString 中设置 INTEGRATED SECURITY="SSPI" 来使用 Windows 身份验证,则 Internet 用户必须拥有读取 SQL Server 表的授权。下面根据身份验证方法来标识 Internet 用户:
将 Microsoft Internet 信息服务 (IIS) 虚拟目录配置为使用匿名访问时,Internet 用户使用 Internet Guest 帐户(IUSR_计算机名)标识来运行。如果将其他 Windows 用户帐户配置为 Internet Guest 帐户,则 Internet 用户将使用该帐户的标识来运行。
将 IIS 虚拟目录配置为使用基本身份验证时,Internet 用户将使用 Windows 用户帐户的标识来运行,客户端将为该帐户提供 Internet 用户名和密码。
将 IIS 虚拟目录配置为使用集成 Windows 身份验证时,Internet 用户将使用 Windows 用户帐户的标识来运行,客户端将为该帐户提供 Internet 用户名和密码。
如果调用 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();
}