Compartilhar via


SqlCeRemoteDataAccess.Push Method (String, String)

Transmite as alterações de uma tabela controlada puxada no SQL Server Compact 3.5 de volta à tabela do SQL Server de origem. Essas alterações são aplicadas individualmente ao servidor em transações separadas.

Namespace: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (em system.data.sqlserverce.dll)

Sintaxe

'Declaração
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
)

Parâmetros

  • localTableName
    O nome da tabela do SQL Server Compact 3.5 que receberá os registros extraídos do SQL Server. Se a tabela já existir, ocorrerá um erro.
  • oleDBConnectionString

Comentários

Os aplicativos chamam o método Push para transmitir as alterações de uma tabela controlada puxada do SQL Server Compact 3.5 de volta a uma tabela do SQL Server. O aplicativo deve ter criado a tabela local do SQL Server Compact 3.5 chamando o método Pull com RdaTrackOption definido como TrackingOn ou TrackingOnWithIndexes.

oledbConnectionString especifica todas as informações de conexão usadas ao conectar o SQL Server.

Se a Autenticação do SQL Server for usada, a identificação do usuário especificada em OLEDBConnectionString deve ter a autoridade para ler a tabela do SQL Server.

Se a Autenticação do Windows for usada configurando INTEGRATED SECURITY="SSPI" em OLEDBConnectionString, o usuário da Internet deverá ter a autoridade para ler a tabela do SQL Server. O usuário da Internet é identificado com base no método de autenticação pelo seguinte:

  • Quando o diretório virtual dos Serviços de Informações da Internet da Microsoft (IIS) estiver configurado para usar o acesso anônimo, o usuário da Internet será executado com a identidade da Conta Convidado da Internet (IUSR_nomedocomputador). Se você configurar uma outra conta de usuário do Windows como Conta Convidado da Internet, o usuário da Internet será executado com a identidade dessa conta.

  • Quando o diretório virtual dos IIS estiver configurado para usar a autenticação Básica, o usuário da Internet será executado com a identidade da conta de usuário do Windows cujo nome de usuário da Internet e senha o cliente forneceu.

  • Quando o diretório virtual dos IIS estiver configurado para usar a autenticação Integrada do Windows, o usuário da Internet será executado com a identidade da conta de usuário do Windows cujo nome de usuário da Internet e senha o cliente forneceu.

Se errorTableName foi especificado ao chamar o método Pull, os erros detectados durante Push são registrados na tabela de erros. Para obter mais informações sobre como funciona a tabela de erros, consulte "Detecção e resolução de conflitos RDA" nos Manuais Online do SQL Server Compact 3.5.

Exemplo

O exemplo a seguir cria um objeto SqlCeRemoteDataAccess, define várias propriedades e chama o método 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();
}

Segurança de thread

Quaisquer membros estáticos públicos (compartilhados no Microsoft Visual Basic) desse tipo são thread safe. Não há garantia de que qualquer membro de instância seja thread safe.

Plataformas

Plataformas de desenvolvimento

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
Informações de versão
.NET Framework e NET Compact Framework
Com suporte no 3.5
.NET Framework
Com suporte no 3.0
.NET Compact Framework e .Net Framework
Com suporte no 2.0

Consulte também

Referência

SqlCeRemoteDataAccess Class
SqlCeRemoteDataAccess Members
System.Data.SqlServerCe Namespace