共用方式為


Pull 方法 (String, String, String, RdaTrackOption, 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, _
    trackOption As RdaTrackOption, _
    errorTable As String _
)
'用途
Dim instance As SqlCeRemoteDataAccess
Dim localTableName As String
Dim sqlSelectString As String
Dim oleDBConnectionString As String
Dim trackOption As RdaTrackOption
Dim errorTable As String

instance.Pull(localTableName, sqlSelectString, _
    oleDBConnectionString, trackOption, _
    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
)
member Pull : 
        localTableName:string * 
        sqlSelectString:string * 
        oleDBConnectionString:string * 
        trackOption:RdaTrackOption * 
        errorTable:string -> unit 
public function Pull(
    localTableName : String, 
    sqlSelectString : String, 
    oleDBConnectionString : String, 
    trackOption : RdaTrackOption, 
    errorTable : String
)

參數

  • localTableName
    型別:System. . :: . .String
    SQL Server Compact 3.5 資料表的名稱,此資料表將接收擷取的 SQL Server 資料錄。如果資料表已經存在,便會發生錯誤。
  • sqlSelectString
    型別:System. . :: . .String
    任何有效的 Transact-SQL 陳述式 (包括 SELECT 陳述式和預存程序),這種陳述式會指定要從 SQL Server 資料庫中擷取哪些資料表、資料行和資料錄,以便儲存於 SQL Server Compact 3.5 資料庫中。
  • trackOption
    型別:System.Data.SqlServerCe. . :: . .RdaTrackOption
    這個選項會指出 SQL Server Compact 3.5 是否要追蹤對提取之資料表所做的變更,以及是否要將提取之資料表上的索引傳到具有 PRIMARY KEY 條件約束的裝置。
  • errorTable
    型別:System. . :: . .String
    本機錯誤資料表的名稱,如果在稍後呼叫 Push 方法將變更傳回 SQL Server 時發生錯誤,就會建立這種資料表。此選項只有在 RdaTrackOption 值是 TrackingOnTrackingOnWithIndexes 時才可以指定。

備註

如果包含 SQL Server Compact 3.5 伺服器代理程式的虛擬目錄設定為使用基本驗證或整合式 Windows 驗證,則必須指定 InternetLoginInternetPassword 屬性。sqlSelectString 可以控制從 SQL Server 資料表所提取的資料。如果產生的資料錄集含有不支援的資料類型 (例如 Timestamp),就會發生錯誤。sqlSelectString 可以指定 WHERE 子句控制所要傳回的資料錄。例如,SELECT * FROM Customers WHERE State='CA' 會只擷取居住於加州 (California) 的客戶。此外,sqlSelectString 還支援資料列傳回的預存程序或檢視表。在使用 TrackingOff 選項時,它還可以將多個資料表中所選取的資料欄提取至單一資料表中。

如果使用 SQL Server 驗證,則 OLEDBConnectionString 中指定的使用者識別碼必須具有讀取 SQL Server 資料表的權限。

如果在 OLEDBConnectionString 中設定 INTEGRATED SECURITY="SSPI" 來使用 Windows 驗證,則網際網路使用者必須具有讀取 SQL Server 資料表的權限。下列各項作業將根據驗證方法識別網際網路使用者:

  • 當 Microsoft Internet Information Services (IIS) 虛擬目錄設定為使用匿名存取時,網際網路使用者會在「網際網路來賓帳戶」(IUSR_computername) 的識別之下執行。如果您將另一個 Windows 使用者帳戶設定為「網際網路來賓帳戶」,網際網路使用者會在該帳戶的識別之下執行。

  • 當 IIS 虛擬目錄設定為使用基本驗證時,網際網路使用者會在 Windows 使用者帳戶 (用戶端已提供網際網路使用者和密碼) 的識別之下執行。

  • 當 IIS 虛擬目錄設定為使用整合式 Windows 驗證時,網際網路使用者會在 Windows 使用者帳戶 (用戶端已提供網際網路使用者和密碼) 的識別之下執行。

如需有關資料存取及限制的詳細資訊,請參閱《SQL Server Compact 3.5 線上叢書》內的<支援的資料類型與資料類型對應>和<RDA 限制>。

範例

' 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 命名空間