SqlCeRemoteDataAccess.Pull Method (String, String, String, RdaTrackOption)

Загружает данные с удаленной базы данных и сохраняет их в одной таблице локальной базы данных SQL Server Compact 3.5. Загружает данные с удаленной базы данных и сохраняет их в одной таблице локальной базы данных SQL Server Compact 3.5.

Пространство имен: System.Data.SqlServerCe
Сборка: System.Data.SqlServerCe (в system.data.sqlserverce.dll)

Синтаксис

'Декларация
Public Sub Pull ( _
    localTableName As String, _
    sqlSelectString As String, _
    oleDBConnectionString As String, _
    trackOption As RdaTrackOption _
)
public void Pull (
    string localTableName,
    string sqlSelectString,
    string oleDBConnectionString,
    RdaTrackOption trackOption
)
public:
void Pull (
    String^ localTableName, 
    String^ sqlSelectString, 
    String^ oleDBConnectionString, 
    RdaTrackOption trackOption
)
public void Pull (
    String localTableName, 
    String sqlSelectString, 
    String oleDBConnectionString, 
    RdaTrackOption trackOption
)
public function Pull (
    localTableName : String, 
    sqlSelectString : String, 
    oleDBConnectionString : String, 
    trackOption : RdaTrackOption
)

Параметры

  • localTableName
    Имя таблицы SQL Server Compact 3.5, в которую будут записаны извлеченные записи SQL Server. Если таблица уже существует, возникнет ошибка.
  • sqlSelectString
    Любая допустимая инструкция Transact-SQL (в том числе SELECT или хранимая процедура), указывающая таблицу, столбцы и записи, которые необходимо извлечь из базы данных SQL Server для сохранения в базе данных SQL Server Compact 3.5.
  • oleDBConnectionString
  • trackOption
    Параметр определяет, отслеживаются ли в SQL Server Compact 3.5 изменения в запрашиваемой таблице и переносятся ли ее индексы на устройства с ограничениями PRIMARY KEY.

Замечания

Свойства InternetLogin и InternetPassword должны быть указаны, если виртуальный каталог, в котором содержится агент сервера SQL Server Compact 3.5, настроен для использования обычной проверки подлинности или встроенной проверки подлинности Windows. Свойство sqlSelectString определяет, какие данные будут извлекаться по запросу из таблицы SQL Server. Если результирующий набор записей содержит неподдерживаемый тип данных, например Timestamp, то возникнет ошибка. В свойстве sqlSelectString может быть задано предложение WHERE, управляющее возвращением записей. Например, при указании SELECT * FROM Customers WHERE State='CA' будут получены только заказчики, проживающие в Калифорнии. Свойство sqlSelectString также поддерживает представления и хранимые процедуры, возвращающие наборы строк. Параметр TrackingOff может также запрашивать необходимые столбцы из нескольких таблиц и помещать их в одну таблицу.

При использовании проверки подлинности SQL Server пользовательский идентификатор, указанный в OLEDBConnectionString, должен иметь права на чтение таблицы SQL Server.

Если в свойстве OLEDBConnectionString указан параметр «INTEGRATED SECURITY="SSPI"», выбирающий использование проверки подлинности Windows, то пользователь Интернета должен иметь права на чтение таблицы SQL Server. Идентификация пользователя Интернета в зависимости от способа проверки подлинности производится следующим образом.

  • Если виртуальный каталог служб Microsoft IIS настроен для анонимного доступа, то пользователю Интернета выделяется идентификатор учетной записи гостя из сети Интернет (IUSR_имя_компьютера). Если в качестве учетной записи гостя из сети Интернет настроена другая учетная запись Windows, то пользователь Интернета получит идентификатор этой учетной записи.

  • Если виртуальный каталог IIS настроен для использования обычной проверки подлинности, то пользователь Интернета получает идентификатор учетной записи Windows, для которой клиент указал имя пользователя и пароль в Интернете.

  • Если виртуальный каталог IIS настроен для использования встроенной проверки подлинности Windows, то пользователь Интернета получит идентификатор учетной записи Windows, для которой клиент указал имя пользователя Интернета и пароль.

Дополнительные сведения о доступе к данным и ограничениям см. в разделах «Поддерживаемые типы данных и сопоставление типов данных» и «Ограничения удаленного доступа к данным» в электронной документации по SQL Server Compact 3.5.

Замечания

Свойства InternetLogin и InternetPassword должны быть указаны, если виртуальный каталог, в котором содержится агент сервера SQL Server Compact 3.5, настроен для использования обычной проверки подлинности или встроенной проверки подлинности Windows. Свойство sqlSelectString определяет, какие данные будут извлекаться по запросу из таблицы SQL Server. Если результирующий набор записей содержит неподдерживаемый тип данных, например Timestamp, то возникнет ошибка. В свойстве sqlSelectString может быть задано предложение WHERE, управляющее возвращением записей. Например, при указании SELECT * FROM Customers WHERE State='CA' будут получены только заказчики, проживающие в Калифорнии. Свойство sqlSelectString также поддерживает представления и хранимые процедуры, возвращающие наборы строк. Параметр TrackingOff может также запрашивать необходимые столбцы из нескольких таблиц и помещать их в одну таблицу.

При использовании проверки подлинности SQL Server пользовательский идентификатор, указанный в OLEDBConnectionString, должен иметь права на чтение таблицы SQL Server.

Если в свойстве OLEDBConnectionString указан параметр «INTEGRATED SECURITY="SSPI"», выбирающий использование проверки подлинности Windows, то пользователь Интернета должен иметь права на чтение таблицы SQL Server. Идентификация пользователя Интернета в зависимости от способа проверки подлинности производится следующим образом.

  • Если виртуальный каталог служб Microsoft IIS настроен для анонимного доступа, то пользователю Интернета выделяется идентификатор учетной записи гостя из сети Интернет (IUSR_имя_компьютера). Если в качестве учетной записи гостя из сети Интернет настроена другая учетная запись Windows, то пользователь Интернета получит идентификатор этой учетной записи.

  • Если виртуальный каталог IIS настроен для использования обычной проверки подлинности, то пользователь Интернета получает идентификатор учетной записи Windows, для которой клиент указал имя пользователя и пароль в Интернете.

  • Если виртуальный каталог IIS настроен для использования встроенной проверки подлинности Windows, то пользователь Интернета получит идентификатор учетной записи Windows, для которой клиент указал имя пользователя Интернета и пароль.

Дополнительные сведения о доступе к данным и ограничениям см. в разделах «Поддерживаемые типы данных и сопоставление типов данных» и «Ограничения удаленного доступа к данным» в электронной документации по SQL Server Compact 3.5.

Пример

Следующий пример демонстрирует создание объекта SqlCeRemoteDataAccess, установку некоторых свойств и вызов метода 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();
}

Пример

Следующий пример демонстрирует создание объекта SqlCeRemoteDataAccess, установку некоторых свойств и вызов метода 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();
}

Многопоточное использование

Все общие статические члены (Shared в Microsoft Visual Basic) этого типа можно использовать в многопоточных операциях. Безопасная многопоточная работа с членами экземпляров типа не гарантируется.

Платформы

Платформы разработки

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
Сведения о версии
.NET Framework и NET Compact Framework
Поддерживается в версии 3.5
.NET Framework
Поддерживается в версии 3.0
.NET Compact Framework и .Net Framework
Поддерживается в версии 2.0

См. также

Справочник

SqlCeRemoteDataAccess Class
SqlCeRemoteDataAccess Members
System.Data.SqlServerCe Namespace