Partilhar via


Método Pull (String, String, String, RdaTrackOption)

Baixa dados de um banco de dados do SQL Server remoto e armazena-os em uma única tabela em um banco de dados do SQL Server Compact 3.5 local.

Namespace:  System.Data.SqlServerCe
Assembly:  System.Data.SqlServerCe (em System.Data.SqlServerCe.dll)

Sintaxe

'Declaração
Public Sub Pull ( _
    localTableName As String, _
    sqlSelectString As String, _
    oleDBConnectionString As String, _
    trackOption As RdaTrackOption _
)
'Uso
Dim instance As SqlCeRemoteDataAccess
Dim localTableName As String
Dim sqlSelectString As String
Dim oleDBConnectionString As String
Dim trackOption As RdaTrackOption

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

Parâmetros

  • localTableName
    Tipo: System. . :: . .String
    O nome da tabela do SQL Server Compact 3.5 que receberá os registros extraídos do SQL Server. Se a tabela já existir, ocorrerá um erro.
  • sqlSelectString
    Tipo: System. . :: . .String
    Qualquer instrução Transact-SQL válida, incluindo instruções SELECT e procedimentos armazenados, que especifica qual tabela, colunas e registros devem ser extraídos do banco de dados do SQL Server para armazenamento no banco de dados do SQL Server Compact 3.5.
  • trackOption
    Tipo: System.Data.SqlServerCe. . :: . .RdaTrackOption
    A opção que indica se o SQL Server Compact 3.5 controla as alterações da tabela puxada e se os índices que existem na tabela que está sendo puxada são trazidos para o dispositivo com as restrições de PRIMARY KEY.

Comentários

As propriedades InternetLogin e InternetPassword deverão ser especificadas se o diretório virtual que contém o Agente de Servidor do SQL Server Compact 3.5 estiver configurado para usar a autenticação Básica ou Integrada do Windows. sqlSelectString controla quais dados são puxados da tabela do SQL Server. Ocorre um erro quando o conjunto de registros resultante contém um tipo de dados sem suporte, como Timestamp. sqlSelectString pode especificar uma cláusula WHERE para controlar os registros a serem retornados. Por exemplo, SELECT * FROM Customers WHERE State='CA' recuperaria apenas os clientes que moram na Califórnia. sqlSelectString também dá suporte a modos de exibição ou procedimentos armazenados de retorno de linhas. As colunas selecionadas também podem ser puxadas de várias tabelas em uma única tabela ao usar a opção TrackingOff.

Se a Autenticação do SQL Server for usada, a identificação do usuário especificada em OLEDBConnectionString deverá ter a autoridade para ler a tabela do SQL Server.

Se a Autenticação do Windows for usada na configuração de INTEGRATED SECURITY="SSPI" em OLEDBConnectionString, o usuário da Internet deverá ter a autoridade para ler a tabela do SQL Server. O usuário da Internet é identificado com base no método de autenticação pelo seguinte:

  • Quando o diretório virtual dos Serviços de Informações da Internet da Microsoft (IIS) estiver configurado para usar o acesso anônimo, o usuário da Internet será executado com a identidade da Conta Convidado da Internet (IUSR_nomedocomputador). Se você configurar uma outra conta de usuário do Windows como Conta Convidado da Internet, o usuário da Internet será executado com a identidade dessa conta.

  • Quando o diretório virtual dos IIS estiver configurado para usar a autenticação Básica, o usuário da Internet será executado com a identidade da conta de usuário do Windows cujo nome de usuário da Internet e senha o cliente forneceu.

  • Quando o diretório virtual dos IIS estiver configurado para usar a autenticação Integrada do Windows, o usuário da Internet será executado com a identidade da conta de usuário do Windows cujo nome de usuário da Internet e senha o cliente forneceu.

Para obter mais informações sobre o acesso a dados e suas limitações, consulte "Tipos de dados e mapeamentos de tipos de dados com suporte" e "Limitações do RDA" nos Manuais Online do SQL Server Compact 3.5.

Exemplos

O exemplo a seguir cria um objeto SqlCeRemoteDataAccess, define várias propriedades e chama o método 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();
}

Consulte também

Referência

SqlCeRemoteDataAccess Classe

Membros SqlCeRemoteDataAccess

Sobrecarga Pull

Namespace System.Data.SqlServerCe