Поделиться через


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

Загружает данные с удаленной базы данных SQL Server и сохраняет их в одной таблице локальной базы данных SQL Server Compact 3.5. Загружает данные с удаленной базы данных SQL Server и сохраняет их в одной таблице локальной базы данных 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, _
    errorTable As String _
)
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
)
public void Pull (
    String localTableName, 
    String sqlSelectString, 
    String oleDBConnectionString, 
    RdaTrackOption trackOption, 
    String errorTable
)
public function Pull (
    localTableName : String, 
    sqlSelectString : String, 
    oleDBConnectionString : String, 
    trackOption : RdaTrackOption, 
    errorTable : String
)

Параметры

  • 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.
  • errorTable
    Имя локальной таблицы ошибок, которая создается при возникновении ошибок во время последующего вызова метода Push для возврата изменений в SQL Server. Этот параметр может быть указан только в том случае, если значение свойства RdaTrackOption равно TrackingOn или TrackingOnWithIndexes.

Замечания

Свойства 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.

Пример

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

Пример

' 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