Partilhar via


Como efetuar pull de dados usando o objeto RDA (programaticamente)

Neste tópico, você aprenderá como receber dados de um banco de dados do Microsoft SQL Server para um banco de dados do Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5) usando a classe SqlCeRemoteDataAccess. Para obter mais informações sobre como usar o namespace SqlServerCe, consulte a documentação de referência de namespaces do SqlServerCe.

Para receber dados usando o RDA

  1. Inicialize um objeto SqlCeRemoteDataAccess e defina as propriedades da conexão.

    SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess("https://www.adventure-works.com/sqlmobile/sqlcesa35.dll", "MyLogin", "<enterStrongPasswordHere>", "Data Source=MyDatabase.sdf");
    
  2. Chame o método Pull, passando o nome da tabela do SQL Server da qual os dados serão recebidos, a instrução SELECT a ser usadas e a cadeia de conexão para o banco de dados local do SQL Server Compact 3.5. Você também pode especificar a opção de rastreamento a ser usada e o local da tabela de erros para registrar erros de RDA.

    rda.Pull("Employees", "SELECT * FROM DimEmployee", rdaOleDbConnectString, RdaTrackOption.TrackingOnWithIndexes, "ErrorTable");
    

Exemplo

Este exemplo mostra como receber dados da tabela DimEmployee em um banco de dados do SQL Server e como preencher uma tabela do SQL Server Compact 3.5 denominada Employees.

string rdaOleDbConnectString = @"Provider=SQLOLEDB; Data Source=MySqlServer;
   Initial Catalog=AdventureWorks; User Id=username;
   Password = <enterStrongPasswordHere>";

        // Initialize RDA Object
        //
        SqlCeRemoteDataAccess rda = null;

        try
        {
            // Try the Pull Operation
            //
            rda = new SqlCeRemoteDataAccess(
                "https://www.adventure-works.com/sqlmobile/sqlcesa35.dll",
                "MyLogin",
                "<enterStrongPasswordHere>",
                "Data Source=MyDatabase.sdf");

            rda.Pull("Employees", "SELECT * FROM DimEmployee", rdaOleDbConnectString,
                RdaTrackOption.TrackingOnWithIndexes, "ErrorTable");

            // or, try one of these overloads:
            //
            // rda.Pull("Employees", "SELECT * FROM DimEmployee", rdaOleDbConnectString,
            //     RdaTrackOption.TrackingOnWithIndexes);
            //
            // rda.Pull("Employees", "SELECT * FROM DimEmployee", rdaOleDbConnectString);
        }
        catch (SqlCeException)
        {
            // Handle errors here
            //
        }
        finally
        {
            // Dispose of the RDA object
            //
            rda.Dispose();
        }
Dim rdaOleDbConnectString As String = _
 "Provider=SQLOLEDB; "Data Source=MySqlServer;Initial Catalog=AdventureWorks; "
            "User Id=username;Password = <enterStrongPasswordHere>"

        ' Initialize RDA Object
        '
        Dim rda As SqlCeRemoteDataAccess = Nothing

        Try
            ' Try the Pull Operation
            '
            rda = New SqlCeRemoteDataAccess( _
                "https://www.adventure-works.com/sqlmobile/sqlcesa35.dll", _
                "MyLogin", _
                "<enterStrongPasswordHere>", _
                "Data Source=MyDatabase.sdf")

            rda.Pull("Employees", "SELECT * FROM DimEmployee", rdaOleDbConnectString, _
                RdaTrackOption.TrackingOnWithIndexes, "ErrorTable")

            ' or, try one of these overloads:
            ' rda.Pull("Employees", "SELECT * FROM DimEmployee", rdaOleDbConnectString, _
            '     RdaTrackOption.TrackingOnWithIndexes)
            '
            ' rda.Pull("Employees", "SELECT * FROM DimEmployee", rdaOleDbConnectString)

        Catch
            ' Handle errors here
            '
        Finally
            ' Dispose of the RDA object
            '
            rda.Dispose()
        End Try

Consulte também

Outros recursos

Apresentação do RDA
Efetuando pull dados do servidor para o cliente

Ajuda e informações

Obtendo assistência (SQL Server Compact 3.5 Service Pack 1)