Pull 方法 (String, String, String)

从远程 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 _
)
用法
Dim instance As SqlCeRemoteDataAccess
Dim localTableName As String
Dim sqlSelectString As String
Dim oleDBConnectionString As String

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

参数

  • localTableName
    类型:System. . :: . .String
    SQL Server Compact 3.5 表的名称,该表将接收提取出的 SQL Server 记录。如果该表已存在,将出现错误。
  • sqlSelectString
    类型:System. . :: . .String
    任何有效的 Transact-SQL 语句(包括 SELECT 语句和存储过程),这些语句指定从 SQL Server 数据库中提取哪些表、列和记录以存储在 SQL Server Compact 3.5 数据库中。

注释

如果将包含 SQL Server Compact 3.5 服务器代理的虚拟目录配置为使用基本身份验证或集成 Windows 身份验证,则必须指定 InternetLoginInternetPassword 属性。sqlSelectString 控制从 SQL Server 表中提取哪些数据。如果结果记录集包含不支持的数据类型(例如 Timestamp),将出现错误。sqlSelectString 参数可以指定 WHERE 子句来控制返回哪些记录。例如,SELECT * FROM Customers WHERE State='CA' 只检索居住在加利福尼亚 (CA) 的客户。sqlSelectString 还支持以行形式返回的存储过程或视图。

如果使用 SQL Server 身份验证,则在 OLEDBConnectionString 中指定的用户 ID 必须拥有读取 SQL Server 表的授权。

如果通过在 OLEDBConnectionString 中设置 INTEGRATED SECURITY="SSPI" 来使用 Windows 身份验证,则 Internet 用户必须拥有读取 SQL Server 表的授权。下面根据身份验证方法来标识 Internet 用户:

  • 将 Microsoft Internet 信息服务 (IIS) 虚拟目录配置为使用匿名访问时,Internet 用户使用 Internet Guest 帐户(IUSR_计算机名)标识来运行。如果将其他 Windows 用户帐户配置为 Internet Guest 帐户,则 Internet 用户将使用该帐户的标识来运行。

  • 将 IIS 虚拟目录配置为使用基本身份验证时,Internet 用户将使用 Windows 用户帐户的标识来运行,客户端将为该帐户提供 Internet 用户名和密码。

  • 将 IIS 虚拟目录配置为使用集成 Windows 身份验证时,Internet 用户将使用 Windows 用户帐户的标识来运行,客户端将为该帐户提供 Internet 用户名和密码。

有关数据访问和限制的更多信息,请参阅 SQL Server Compact 3.5 联机丛书中的“支持的数据类型和数据类型映射”和“RDA 限制”。

示例

下面的示例创建 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类

SqlCeRemoteDataAccess 成员

Pull 重载

System.Data.SqlServerCe 命名空间