Partilhar via


Método Push (String, String, RdaBatchOption)

Transmite as alterações de uma tabela controlada puxada no SQL Server Compact 3.5 de volta à tabela do SQL Server. Essas alterações podem ser aplicadas individualmente ao servidor ou processadas em lotes em uma única transação.

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, _
    batchOption As RdaBatchOption _
)
'Uso
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
)

Parâmetros

  • localTableName
    Tipo: System. . :: . .String
    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.

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 deverá ter a autoridade para ler a tabela do SQL Server.

Se a Autenticação do Windows for usada na configuração de 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 serã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.

Exemplos

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();
}

Consulte também

Referência

SqlCeRemoteDataAccess Classe

Membros SqlCeRemoteDataAccess

Sobrecarga Push

Namespace System.Data.SqlServerCe