SqlCeRemoteDataAccess.Pull Method (String, String, String)

Downloads data from a remote Microsoft SQL Server database and stores that data in a single table in a local Microsoft SQL Server Mobile database.

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

Syntax

'Declaration
Public Sub Pull ( _
    localTableName As String, _
    sqlSelectString As String, _
    oleDBConnectionString As String _
)
'Usage
Dim instance As SqlCeRemoteDataAccess
Dim localTableName As String
Dim sqlSelectString As String
Dim oleDBConnectionString As String

instance.Pull(localTableName, sqlSelectString, oleDBConnectionString)
public void Pull (
    string localTableName,
    string sqlSelectString,
    string oleDBConnectionString
)
public:
void Pull (
    String^ localTableName, 
    String^ sqlSelectString, 
    String^ oleDBConnectionString
)
public void Pull (
    String localTableName, 
    String sqlSelectString, 
    String oleDBConnectionString
)
public function Pull (
    localTableName : String, 
    sqlSelectString : String, 
    oleDBConnectionString : String
)

Parameters

  • localTableName
    The name of the SQL Server Mobile table that will receive the extracted SQL Server records. An error occurs if the table already exists.
  • sqlSelectString
    Any valid Transact-SQL statement—including SELECT statements and stored procedures—that specifies which table, columns, and records to extract from the SQL Server database for storing in the SQL Server Mobile database.
  • oleDBConnectionString

Remarks

The InternetLogin and InternetPassword properties must be specified if the virtual directory that contains the SQL Server Mobile Server Agent is configured to use Basic authentication or Integrated Windows authentication. sqlSelectString controls which data is pulled from the SQL Server table. An error occurs if the resulting recordset contains an unsupported data type, such as timestamp. sqlSelectString can specify a WHERE clause to control which records are returned. For example, SELECT * FROM Customers WHERE State='CA' would retrieve customers who live in California only. sqlSelectString also supports row-returning stored procedures or views.

If SQL Server Authentication is used, the user ID specified in OLEDBConnectionString must have the authority to read the SQL Server table.

If Windows Authentication is used by setting INTEGRATED SECURITY="SSPI" in OLEDBConnectionString, the Internet user must have the authority to read the SQL Server table. The following identifies the Internet user based on the authentication method:

  • When Microsoft Internet Information Services (IIS) virtual directory is configured to use anonymous access, the Internet user runs under the identity of the Internet Guest Account (IUSR_computername). If you configure another Windows user account as the Internet Guest Account, the Internet user runs under the identity of that account.

  • When IIS virtual directory is configured to use Basic authentication, the Internet user runs under the identity of the Windows user account for which the client supplied the Internet user name and password.

  • When IIS virtual directory is configured to use Integrated Windows authentication, the Internet user runs under the identity of the Windows user account for which the client supplied the Internet user name and password.

For more information about data access and limitations, see "Supported Data Types and Data Type Mappings" and "RDA Limitations" in SQL Server Mobile Books Online.

Example

The following example creates a SqlCeRemoteDataAccess object, sets several properties, and then calls the Pull method.

' 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 Pull Operation
    '
    rda = New SqlCeRemoteDataAccess( _
        "http://www.adventure-works.com/sqlmobile/sqlcesa30.dll", _
        "MyLogin", _
        "<password>", _
        "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
// 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 Pull Operation
    //
    rda = new SqlCeRemoteDataAccess(
        "http://www.adventure-works.com/sqlmobile/sqlcesa30.dll",
        "MyLogin",
        "<password>",
        "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();

.NET Framework Security

  • Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see .

Platforms

Windows CE, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows XP Professional x64 Edition, Windows XP SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

Version Information

.NET Compact Framework

Supported in: 2.0, 1.0

See Also

Reference

SqlCeRemoteDataAccess Class
SqlCeRemoteDataAccess Members
System.Data.SqlServerCe Namespace