Pull méthode (String, String, String, RdaTrackOption)
Télécharge les données d'une base de données SQL Server distante et stocke ces données dans une seule table d'une base de données SQL Server Compact 3.5 locale.
Espace de noms : System.Data.SqlServerCe
Assembly : System.Data.SqlServerCe (dans System.Data.SqlServerCe.dll)
Syntaxe
'Déclaration
Public Sub Pull ( _
localTableName As String, _
sqlSelectString As String, _
oleDBConnectionString As String, _
trackOption As RdaTrackOption _
)
'Utilisation
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
)
Paramètres
- localTableName
Type : System. . :: . .String
Nom de la table SQL Server Compact 3.5 qui recevra les enregistrements SQL Server extraits. Une erreur se produit si la table existe déjà.
- sqlSelectString
Type : System. . :: . .String
Toute instruction Transact-SQL valide, notamment les instructions SELECT et les procédures stockées, qui spécifie la table, les colonnes et les enregistrements à extraire de la base de données SQL Server en vue de leur stockage dans la base de données SQL Server Compact 3.5.
- oleDBConnectionString
Type : System. . :: . .String
- trackOption
Type : System.Data.SqlServerCe. . :: . .RdaTrackOption
Option indiquant si SQL Server Compact 3.5 assure le suivi des modifications apportées à la table extraite et si les index qui existent sur la table en cours d'extraction sont transmis au périphérique avec les contraintes PRIMARY KEY.
Notes
Les propriétés InternetLogin et InternetPassword doivent être spécifiées si le répertoire virtuel qui contient l'Agent serveur SQL Server Compact 3.5 est configuré de manière à utiliser l'authentification de base ou l'authentification Windows intégrée. sqlSelectString détermine les données qui sont extraites de la table SQL Server. Une erreur se produit si le jeu d'enregistrements obtenu contient un type de données non pris en charge, par exemple Timestamp. sqlSelectString peut spécifier une clause WHERE pour déterminer les enregistrements qui sont retournés. Par exemple, SELECT * FROM Customers WHERE State='CA' peut récupérer uniquement les clients qui habitent en Californie. sqlSelectString prend également en charge les procédures stockées qui retournent des lignes ou des vues. Il peut aussi extraire des colonnes sélectionnées à partir de plusieurs tables vers une table unique en utilisant l'option TrackingOff.
Si l'authentification SQL Server est utilisée, l'ID d'utilisateur spécifié dans OLEDBConnectionString doit disposer de l'autorisation requise pour lire la table SQL Server.
Si l'authentification Windows est utilisée en définissant INTEGRATED SECURITY="SSPI" dans OLEDBConnectionString, l'utilisateur Internet doit avoir l'autorisation requise pour lire la table SQL Server. Ce qui suit identifie l'utilisateur Internet en fonction de la méthode d'authentification :
Lorsque le répertoire virtuel de Microsoft Internet Information Services (IIS) est configuré de manière à utiliser l'accès anonyme, l'utilisateur Internet utilise l'identité du Compte Invité Internet (IUSR_NomOrdinateur). Si vous configurez un autre compte d'utilisateur Windows en tant que Compte Invité Internet, l'utilisateur Internet utilise l'identité de ce compte.
Lorsque le répertoire virtuel IIS est configuré de manière à employer l'authentification de base, l'utilisateur Internet utilise l'identité du compte d'utilisateur Windows pour lequel le client a fourni le nom d'utilisateur Internet et le mot de passe correspondant.
Lorsque le répertoire virtuel IIS est configuré de manière à employer l'authentification intégrée de Windows, l'utilisateur Internet utilise l'identité du compte d'utilisateur Windows pour lequel le client a fourni le nom d'utilisateur Internet et le mot de passe correspondant.
Pour plus d'informations sur l'accès aux données et les restrictions rencontrées, consultez « Types de données pris en charge et mappage des types de données » et « Limitations RDA » dans la documentation en ligne de SQL Server Compact 3.5.
Exemples
L'exemple suivant crée un objet SqlCeRemoteDataAccess, définit plusieurs propriétés, puis appelle la méthode 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();
}