SqlCeRemoteDataAccess.Push 方法 (String, String)

将 SQL Server Compact Edition 中跟踪的提取表中的更改传送回原始 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
)
public void Push (
    String localTableName, 
    String oleDBConnectionString
)
public function Push (
    localTableName : String, 
    oleDBConnectionString : String
)
不适用。

参数

  • localTableName
    一个 SQL Server Compact Edition 表的名称,该表将接收提取出的 SQL Server 记录。如果该表已经存在,则会发生错误。
  • oleDBConnectionString

备注

应用程序调用 Push 方法来将跟踪的 SQL Server Compact Edition 提取表中的更改传送回 SQL Server 表。应用程序必须已经以下面的方式创建了本地 SQL Server Compact Edition 表:调用 Pull 方法,并将 RdaTrackOption 设置为 TrackingOnTrackingOnWithIndexes

oledbConnectionString 指定连接到 SQL Server 时使用的所有连接信息。

如果使用 SQL Server 身份验证,则在 OLEDBConnectionString 中指定的用户 ID 必须具有读取 SQL Server 表的权限。

如果通过 OLEDBConnectionString 中设置 INTEGRATED SECURITY="SSPI" 来使用 Windows 身份验证,则 Internet 用户必须具有读取 SQL Server 表的权限。下面根据身份验证方法来标识 Internet 用户:

  • 当将 Microsoft Internet 信息服务 (IIS) 虚拟目录配置为使用匿名访问时,则 Internet 用户在 Internet 来宾帐户(IUSR_计算机名称)的标识下运行。如果其他 Windows 用户帐户被配置为 Internet 来宾帐户,则 Internet 用户在该帐户的标识下运行。

  • 当 IIS 虚拟目录配置为使用基本身份验证时,Internet 用户将在 Windows 用户帐户的标识下运行,客户端为该帐户提供了 Internet 用户名和密码。

  • 当 IIS 虚拟目录配置为使用集成 Windows 身份验证时,Internet 用户将在 Windows 用户帐户的标识下运行,客户端为该帐户提供了 Internet 用户名和密码。

如果调用 Pull 方法时指定了 errorTableName,则在 Push 期间检测出的任何错误都将记录在错误表中。有关错误表工作原理的更多信息,请参见 SQL Server Compact Edition Books Online(《SQL Server Compact Edition 联机丛书》)中的“RDA Conflict Detection and Resolution”(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/sqlcesa30.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/sqlcesa30.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();
}

平台

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Windows Vista、Microsoft Windows XP SP2 和 Windows Server 2003 SP1 支持 Microsoft .NET Framework 3.0。

版本信息

.NET Framework

受以下版本支持:3.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

SqlCeRemoteDataAccess 类
SqlCeRemoteDataAccess 成员
System.Data.SqlServerCe 命名空间