Compartilhar via


SqlCeRemoteDataAccess.Pull Method (String, String, String)

Baixa dados de um banco de dados do SQL Server remoto e os armazena 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 _
)
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
)

Parâmetros

  • localTableName
    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
    Qualquer instrução Transact-SQL válida, inclusive instruções SELECT e procedimentos armazenados, que especifique 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.
  • oleDBConnectionString

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. Ocorrerá um erro se o conjunto de registros resultante contiver um tipo de dados sem suporte, como Timestamp. sqlSelectString pode especificar uma cláusula WHERE para controlar quais registros são retornados. Por exemplo, SELECT * FROM Customers WHERE State='CA' recuperaria apenas os clientes que moram na Califórnia. sqlSelectString também dá suporte a exibições ou procedimentos armazenados de retorno de linhas.

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

Se a Autenticação do Windows for usada configurando 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.

Exemplo

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

Segurança de thread

Quaisquer membros estáticos públicos (compartilhados no Microsoft Visual Basic) desse tipo são thread safe. Não há garantia de que qualquer membro de instância seja thread safe.

Plataformas

Plataformas de desenvolvimento

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
Informações de versão
.NET Framework e NET Compact Framework
Com suporte no 3.5
.NET Framework
Com suporte no 3.0
.NET Compact Framework e .Net Framework
Com suporte no 2.0

Consulte também

Referência

SqlCeRemoteDataAccess Class
SqlCeRemoteDataAccess Members
System.Data.SqlServerCe Namespace