Condividi tramite


SqlCeRemoteDataAccess.Pull Method (String, String, String)

Esegue il download di dati da un database di SQL Server remoto e li archivia in un'unica tabella di un database di SQL Server Compact 3.5 locale.

Spazio dei nomi: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (in system.data.sqlserverce.dll)

Sintassi

'Dichiarazione
Public Sub Pull ( _
    localTableName As String, _
    sqlSelectString As String, _
    oleDBConnectionString As String _
)
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
)

Parametri

  • localTableName
    Nome della tabella di SQL Server Compact 3.5 in cui verranno inseriti i record estratti di SQL Server. Si verifica un errore se la tabella esiste già.
  • sqlSelectString
    Qualsiasi istruzione Transact-SQL valida, incluse le istruzioni SELECT e le stored procedure, che specifica la tabelle, le colonne e i record da estrarre dal database di SQL Server e da archiviare nel database di SQL Server Compact 3.5.
  • oleDBConnectionString

Osservazioni

È necessario specificare le proprietà InternetLogin e InternetPassword se la directory virtuale in cui è contenuto Agente server di SQL Server Compact 3.5 è configurata per l'utilizzo dell'autenticazione di base o integrata di Windows. Se si utilizza sqlSelectString, è possibile determinare per quali dati viene effettuato il pull dalla tabella di SQL Server. Se nel recordset risultante è contenuto un tipo di dati non supportato, ad esempio Timestamp, si verifica un errore. Se si utilizza sqlSelectString, è possibile specificare una clausola WHERE per determinare i record da restituire. Se ad esempio si specifica SELECT * FROM Customers WHERE State='CA', vengono recuperati solo i clienti che vivono in California. L'utilizzo di sqlSelectString consente di supportare inoltre le stored procedure o le visualizzazioni che restituiscono righe.

Se si utilizza l'autenticazione di SQL Server, è necessario che l'identificatore utente specificato in OLEDBConnectionString disponga dell'autorizzazione per la lettura della tabella di SQL Server.

Se si utilizza l'autenticazione di Windows impostando INTEGRATED SECURITY="SSPI" in OLEDBConnectionString, è necessario che l'utente Internet disponga dell'autorizzazione per la lettura della tabella di SQL Server. Di seguito viene identificato l'utente Internet in base al metodo di autenticazione:

  • Quando la directory virtuale di Microsoft Internet Information Services (IIS) è configurata per l'utilizzo dell'accesso anonimo, l'identità dell'utente Internet è rappresentata dall'account Guest, ovvero da IUSR_nomecomputer. Se si configura un altro account utente Windows come Internet Guest Account, l'utente Internet avrà l'identità di quell'account.

  • Quando la directory virtuale di IIS è configurata per l'utilizzo dell'autenticazione di base, l'utente Internet ha l'identità dell'account utente Windows i cui nome utente e password Internet sono stati forniti dal client.

  • Quando la directory virtuale di IIS è configurata per l'utilizzo dell'autenticazione integrata di Windows, l'utente Internet ha l'identità dell'account utente Windows i cui nome utente e password Internet sono stati forniti dal client.

Per ulteriori informazioni sull'accesso ai dati e sui relativi limiti, vedere "Supported Data Types and Data Type Mappings" (Tipi di dati supportati e relativo mapping) e "RDA Limitations" (Limitazioni RDA) nella documentazione in linea di SQL Server Compact 3.5.

Esempio

Nell'esempio riportato di seguito viene creato un oggetto SqlCeRemoteDataAccess, vengono impostate diverse proprietà, dopodiché viene chiamato il metodo Pull.

' 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( _
        "https://www.adventure-works.com/sqlmobile/sqlcesa35.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(
        "https://www.adventure-works.com/sqlmobile/sqlcesa35.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();
}

Affidabilità

Tutti i membri statici pubblici (Shared in Microsoft Visual Basic) di questo tipo sono affidabili. Non è invece garantita l'affidabilità dei membri dell'istanza.

Piattaforme

Piattaforme di sviluppo

Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
Informazioni sulla versione
.NET Framework e .NET Compact Framework
Supportato in 3.5
.NET Framework
Supportato in 3.0
.NET Compact Framework e .NET Framework
Supportato in 2.0

Vedere anche

Riferimento

SqlCeRemoteDataAccess Class
SqlCeRemoteDataAccess Members
System.Data.SqlServerCe Namespace