To implement remote data access in Microsoft SQL Server Compact 3.5, you must do the following:

  • Configure SQL Server with the appropriate user rights.

  • Propagate data to and from the client.

  • Resolve conflicts, rows that could not be applied because of errors at the server

  • Handle application errors.

This section describes configuring SQL Server with the appropriate user rights and propagating data to and from server and client. For information about resolving conflicts, see RDA Conflict Detection and Reporting.

Guidelines for Implementing RDA

When you design applications that use RDA to access SQL Server databases, use the following guidelines.

  • The application should always initiate and control RDA, and the application is responsible for pulling a table from SQL Server to the device. Some points to be aware of are listed below:

    • If the table is tracked, the application is responsible for periodically pushing the changed data back to the SQL Server table.

    • A table must be dropped and repulled to update the local table data with data changes from the SQL Server table.

    • The application is also responsible for deleting the table from the SQL Server Compact 3.5 database when it is no longer needed.

  • Users should be shielded from the details of RDA. If the table that was pulled from SQL Server was marked as tracked, the application should use the RDA object to initiate table-level synchronization whenever synchronization is required. For example, the application might trigger synchronization when it detects that the device is reconnected to the network, when the application has updated critical table information, when the user requests synchronization, or when a certain time period has elapsed.

In This Section

Topic

Description

Granting Access to a SQL Server Database

Describes how to grant access to a SQL Server database.

Propagating Data

Describes how to propagate data in RDA, including pulling the data from the server to the client, pushing data changes from client to server and optionally tracking changes and errors.