Freigeben über


Pull-Methode (String, String, String, RdaTrackOption, String)

Lädt Daten von einer SQL Server-Remotedatenbank herunter und speichert diese Daten in einer einzelnen Tabelle einer lokalen SQL Server Compact 3.5-Datenbank.

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, _
    trackOption As RdaTrackOption, _
    errorTable As String _
)
'Usage
Dim instance As SqlCeRemoteDataAccess
Dim localTableName As String
Dim sqlSelectString As String
Dim oleDBConnectionString As String
Dim trackOption As RdaTrackOption
Dim errorTable As String

instance.Pull(localTableName, sqlSelectString, _
    oleDBConnectionString, trackOption, _
    errorTable)
public void Pull(
    string localTableName,
    string sqlSelectString,
    string oleDBConnectionString,
    RdaTrackOption trackOption,
    string errorTable
)
public:
void Pull(
    String^ localTableName, 
    String^ sqlSelectString, 
    String^ oleDBConnectionString, 
    RdaTrackOption trackOption, 
    String^ errorTable
)
member Pull : 
        localTableName:string * 
        sqlSelectString:string * 
        oleDBConnectionString:string * 
        trackOption:RdaTrackOption * 
        errorTable:string -> unit 
public function Pull(
    localTableName : String, 
    sqlSelectString : String, 
    oleDBConnectionString : String, 
    trackOption : RdaTrackOption, 
    errorTable : String
)

Parameter

  • localTableName
    Typ: System. . :: . .String
    Der Name der SQL Server Compact 3.5-Tabelle, die die extrahierten SQL Server-Datensätze empfängt. Wenn die Tabelle bereits vorhanden ist, tritt ein Fehler auf.
  • sqlSelectString
    Typ: System. . :: . .String
    Jede gültige Transact-SQL-Anweisung, einschließlich SELECT-Anweisungen und gespeicherten Prozeduren, die angibt, welche Tabelle, Spalten und Datensätze aus der SQL Server-Datenbank extrahiert und in der SQL Server Compact 3.5-Datenbank gespeichert werden sollen.
  • trackOption
    Typ: System.Data.SqlServerCe. . :: . .RdaTrackOption
    Die Option gibt an, ob Änderungen an der abgerufenen Tabelle von SQL Server Compact 3.5 nachverfolgt und ob die Indizes in der abgerufenen Tabelle mit den PRIMARY KEY-Einschränkungen an das Gerät übermittelt werden.
  • errorTable
    Typ: System. . :: . .String
    Der Name der lokalen Fehlertabelle, die erstellt wird, falls beim späteren Aufrufen der Push-Methode zum Zurücksenden der Änderungen an SQL Server ein Fehler auftritt. Diese Option kann nur angegeben werden, wenn der RdaTrackOption-Wert TrackingOn oder TrackingOnWithIndexes entspricht.

Hinweise

Wenn das virtuelle Verzeichnis, in dem der SQL Server Compact 3.5 Server-Agent enthalten ist, für die Standardauthentifizierung oder die integrierte Windows-Authentifizierung konfiguriert ist, müssen die InternetLogin-Eigenschaft und die InternetPassword-Eigenschaft angegeben werden. sqlSelectString steuert, welche Daten aus der SQL Server-Tabelle abgerufen werden. Wenn das resultierende Recordset einen nicht unterstützten Datentyp enthält, z. B. Timestamp, tritt ein Fehler auf. sqlSelectString kann eine WHERE-Klausel angeben, um zu steuern, welche Datensätze zurückgegeben werden. Beispielsweise werden mit SELECT * FROM Customers WHERE State='CA' ausschließlich Kunden abgerufen, die in Kalifornien leben. sqlSelectString unterstützt zusätzlich gespeicherte Prozeduren oder Sichten, die Zeilen zurückgeben. Bei Verwendung der TrackingOff-Option können auch ausgewählte Tabellen aus mehreren Tabellen in eine einzelne Tabelle übertragen werden.

Bei Verwendung der SQL Server-Authentifizierung muss die in OLEDBConnectionString angegebene Benutzer-ID über die Berechtigung zum Lesen der SQL Server-Tabelle verfügen.

Wenn die Windows-Authentifizierung verwendet wird, indem in OLEDBConnectionString INTEGRATED SECURITY="SSPI" festgelegt wird, muss der Internetbenutzer über die Berechtigung zum Lesen der SQL Server-Tabelle verfügen. Nachfolgend wird der Internetbenutzer auf der Grundlage der Authentifizierungsmethode identifiziert:

  • Wenn das virtuelle Verzeichnis von Microsoft Internetinformationsdienste (IIS) für die Verwendung des anonymen Zugriffs konfiguriert ist, wird der Internetbenutzer unter der Identität des Internetgastkontos (IUSR_Computername) ausgeführt. Wenn Sie ein anderes Windows-Benutzerkonto als Internetgastkonto konfigurieren, wird für den Internetbenutzer die Identität dieses Kontos verwendet.

  • Wenn das virtuelle IIS-Verzeichnis für die Standardauthentifizierung konfiguriert ist, wird der Internetbenutzer unter der Identität des Windows-Benutzerkontos geführt, für das der Client den Namen und das Kennwort des Internetbenutzers bereitgestellt hat.

  • Wenn das virtuelle IIS-Verzeichnis für die integrierte Windows-Authentifizierung konfiguriert ist, wird der Internetbenutzer unter der Identität des Windows-Benutzerkontos geführt, für das der Client den Namen und das Kennwort des Internetbenutzers bereitgestellt hat.

Weitere Informationen über Datenzugriff und Einschränkungen finden Sie in der Onlinedokumentation zu SQL Server Compact 3.5 unter "Supported Data Types and Data Type Mappings" und unter "RDA Limitations" (auf Englisch).

Beispiele

' 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();
}

Siehe auch

Verweis

SqlCeRemoteDataAccess Klasse

SqlCeRemoteDataAccess-Member

Pull-Überladung

System.Data.SqlServerCe-Namespace