Partager via


Procédure : extraire des données à l'aide de l'objet RDA (par programme)

Dans cette rubrique, vous allez apprendre à extraire (pull) des données d'une base de données Microsoft SQL Server vers une base de données Microsoft SQL Server Compact 3.5 à l'aide de la classe SqlCeRemoteDataAccess. Pour plus d'informations sur l'utilisation de l'espace de noms SqlServerCe, consultez la documentation de référence sur l'espace de noms SqlServerCe.

Pour extraire des données via RDA

  1. Initialisez un objet SqlCeRemoteDataAccess et définissez les propriétés de la connexion.

    SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess("https://www.adventure-works.com/sqlmobile/sqlcesa35.dll", "MyLogin", "<enterStrongPasswordHere>", "Data Source=MyDatabase.sdf");
    
  2. Appelez la méthode Pull en passant le nom de la table SQL Server dont les données seront extraites, l'instruction SELECT à utiliser et la chaîne de connexion à la base de données SQL Server Compact 3.5 locale. Vous pouvez également spécifier l'option de suivi à utiliser et l'emplacement de la table d'erreurs pour l'enregistrement des erreurs RDA.

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

Exemple

L'exemple ci-dessous illustre comment extraire des données de la table DimEmployee d'une base de données SQL Server et remplir une table SQL Server Compact 3.5 appelée 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

Voir aussi

Autres ressources

Introduction au service RDA (Remote Data Access)

Extraction de données d'un serveur sur un client