SqlBulkCopy.WriteToServerAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
非同步版本WriteToServer的 ,將所有資料列從資料來源複製到由DestinationTableNameSqlBulkCopy物件屬性指定的目的資料表。
多載
備註
若停用多個主動結果集(MARS),連線 WriteToServer 會變得忙碌。 如果啟用 MARS,你可以在同一連線中與其他指令交錯 WriteToServer 呼叫。
當失敗時,回滾的列數取決於多種因素:
若 UseInternalTransaction 被指定。
如果你有自己的交易。
BatchSize 的值。
當傳送資料到伺服器時發生錯誤,目前的批次(依照 BatchSize)會被回滾。 如果 UseInternalTransaction 沒有指定,而你有自己的交易,整個交易都會被回滾(包括之前所有批次)。
用 SqlRowsCopied 來知道複製到伺服器的列數。
WriteToServerAsync(IDataReader, CancellationToken)
非同步版本 WriteToServer(IDataReader),將所提供 IDataReader 的所有列複製到由 DestinationTableName 物件屬性 SqlBulkCopy 指定的目的表。
取消標記可用來請求在指令逾時前放棄操作。 例外將透過回傳的任務物件回報。
public:
System::Threading::Tasks::Task ^ WriteToServerAsync(System::Data::IDataReader ^ reader, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task WriteToServerAsync(System.Data.IDataReader reader, System.Threading.CancellationToken cancellationToken);
member this.WriteToServerAsync : System.Data.IDataReader * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function WriteToServerAsync (reader As IDataReader, cancellationToken As CancellationToken) As Task
參數
- reader
- IDataReader
IDataReader A的列會被複製到目的資料表。
- cancellationToken
- CancellationToken
取消指示。 此 None 參數中的值使此方法等價於 WriteToServerAsync(DataTable)。
傳回
一個代表非同步操作的任務。
例外狀況
在同一 WriteToServerAsync(IDataReader) 個實例呼叫多次,任務才完成。
WriteToServerAsync(IDataReader)呼叫 和 WriteToServer(IDataReader) 在任務完成前的同一個實例。
連線在執行過程中 WriteToServerAsync(IDataReader) 會中斷或關閉。
在任務物件中回傳, SqlBulkCopy 該物件在方法執行時會被關閉。
任務物件回傳時,連線池有逾時。
在任務物件中回傳時,該 SqlConnection 物件在方法執行前會被關閉。
該建築 IDataReader 在完工 Task 前就已關閉。
IDataReader該連結在完成Task前已關閉。
Context Connection=true 在連接字串中指定。
在任務物件中回傳的是 SQL Server 在開啟連線時所回傳的任何錯誤。
取消令牌也被取消了。 此例外會儲存在回傳的任務中。
備註
欲了解更多關於.NET框架Data Provider for SQL Server 非同步程式設計的資訊,請參見 非同步程式設計。
此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 WriteToServer(IDataReader)拋出的例外。
適用於
WriteToServerAsync(DbDataReader)
非同步版本WriteToServer(DbDataReader)的 ,將所有列從所提供DbDataReader陣列複製到由DestinationTableNameSqlBulkCopy物件屬性指定的目的表。
public:
System::Threading::Tasks::Task ^ WriteToServerAsync(System::Data::Common::DbDataReader ^ reader);
public System.Threading.Tasks.Task WriteToServerAsync(System.Data.Common.DbDataReader reader);
member this.WriteToServerAsync : System.Data.Common.DbDataReader -> System.Threading.Tasks.Task
Public Function WriteToServerAsync (reader As DbDataReader) As Task
參數
- reader
- DbDataReader
DbDataReader A的列會被複製到目的資料表。
傳回
一個代表非同步操作的任務。
備註
欲了解更多關於.NET框架Data Provider for SQL Server 非同步程式設計的資訊,請參見 非同步程式設計。
此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 WriteToServer(DbDataReader)拋出的例外。
適用於
WriteToServerAsync(DataRow[])
非同步版本WriteToServer(DataRow[])的 ,將所有列從所提供DataRow陣列複製到由DestinationTableNameSqlBulkCopy物件屬性指定的目的表。
public:
System::Threading::Tasks::Task ^ WriteToServerAsync(cli::array <System::Data::DataRow ^> ^ rows);
public System.Threading.Tasks.Task WriteToServerAsync(System.Data.DataRow[] rows);
member this.WriteToServerAsync : System.Data.DataRow[] -> System.Threading.Tasks.Task
Public Function WriteToServerAsync (rows As DataRow()) As Task
參數
傳回
一個代表非同步操作的任務。
例外狀況
在同一 WriteToServerAsync(DataRow[]) 個實例呼叫多次,任務才完成。
WriteToServerAsync(DataRow[])呼叫 和 WriteToServer(DataRow[]) 在任務完成前的同一個實例。
連線在執行過程中 WriteToServerAsync(DataRow[]) 會中斷或關閉。
在任務物件中回傳, SqlBulkCopy 該物件在方法執行時會被關閉。
任務物件回傳時,連線池有逾時。
在任務物件中回傳時,該 SqlConnection 物件在方法執行前會被關閉。
Context Connection=true 在連接字串中指定。
在任務物件中回傳的是 SQL Server 在開啟連線時所回傳的任何錯誤。
備註
欲了解更多關於.NET框架Data Provider for SQL Server 非同步程式設計的資訊,請參見 非同步程式設計。
此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 WriteToServer(DataRow[])拋出的例外。
適用於
WriteToServerAsync(DataTable)
非同步版本 WriteToServer(DataTable),將所提供 DataTable 的所有列複製到由 DestinationTableName 物件屬性 SqlBulkCopy 指定的目的表。
public:
System::Threading::Tasks::Task ^ WriteToServerAsync(System::Data::DataTable ^ table);
public System.Threading.Tasks.Task WriteToServerAsync(System.Data.DataTable table);
member this.WriteToServerAsync : System.Data.DataTable -> System.Threading.Tasks.Task
Public Function WriteToServerAsync (table As DataTable) As Task
參數
傳回
一個代表非同步操作的任務。
例外狀況
在同一 WriteToServerAsync(DataTable) 個實例呼叫多次,任務才完成。
WriteToServerAsync(DataTable)呼叫 和 WriteToServer(DataTable) 在任務完成前的同一個實例。
連線在執行過程中 WriteToServerAsync(DataTable) 會中斷或關閉。
在任務物件中回傳, SqlBulkCopy 該物件在方法執行時會被關閉。
任務物件回傳時,連線池有逾時。
在任務物件中回傳時,該 SqlConnection 物件在方法執行前會被關閉。
Context Connection=true 在連接字串中指定。
在任務物件中回傳的是 SQL Server 在開啟連線時所回傳的任何錯誤。
備註
欲了解更多關於.NET框架Data Provider for SQL Server 非同步程式設計的資訊,請參見 非同步程式設計。
此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 WriteToServer(DataTable)拋出的例外。
適用於
WriteToServerAsync(IDataReader)
非同步版本 WriteToServer(IDataReader),將所提供 IDataReader 的所有列複製到由 DestinationTableName 物件屬性 SqlBulkCopy 指定的目的表。
public:
System::Threading::Tasks::Task ^ WriteToServerAsync(System::Data::IDataReader ^ reader);
public System.Threading.Tasks.Task WriteToServerAsync(System.Data.IDataReader reader);
member this.WriteToServerAsync : System.Data.IDataReader -> System.Threading.Tasks.Task
Public Function WriteToServerAsync (reader As IDataReader) As Task
參數
- reader
- IDataReader
IDataReader A的列會被複製到目的資料表。
傳回
一個代表非同步操作的任務。
例外狀況
在同一 WriteToServerAsync(IDataReader) 個實例呼叫多次,任務才完成。
WriteToServerAsync(IDataReader)呼叫 和 WriteToServer(IDataReader) 在任務完成前的同一個實例。
連線在執行過程中 WriteToServerAsync(IDataReader) 會中斷或關閉。
在任務物件中回傳, SqlBulkCopy 該物件在方法執行時會被關閉。
任務物件回傳時,連線池有逾時。
在任務物件中回傳時,該 SqlConnection 物件在方法執行前會被關閉。
該建築 IDataReader 在完工 Task 前就已關閉。
IDataReader該連結在完成Task前已關閉。
Context Connection=true 在連接字串中指定。
在任務物件中回傳的是 SQL Server 在開啟連線時所回傳的任何錯誤。
備註
欲了解更多關於.NET框架Data Provider for SQL Server 非同步程式設計的資訊,請參見 非同步程式設計。
此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 WriteToServer(IDataReader)拋出的例外。
適用於
WriteToServerAsync(DbDataReader, CancellationToken)
非同步版本WriteToServer(DbDataReader)的 ,將所有列從所提供DbDataReader陣列複製到由DestinationTableNameSqlBulkCopy物件屬性指定的目的表。
public:
System::Threading::Tasks::Task ^ WriteToServerAsync(System::Data::Common::DbDataReader ^ reader, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task WriteToServerAsync(System.Data.Common.DbDataReader reader, System.Threading.CancellationToken cancellationToken);
member this.WriteToServerAsync : System.Data.Common.DbDataReader * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function WriteToServerAsync (reader As DbDataReader, cancellationToken As CancellationToken) As Task
參數
- reader
- DbDataReader
DbDataReader A的列會被複製到目的資料表。
- cancellationToken
- CancellationToken
取消指示。 此 None 參數中的值使此方法等價於 WriteToServerAsync(DbDataReader)。
傳回
傳回 Task。
例外狀況
取消令牌也被取消了。 此例外會儲存在回傳的任務中。
備註
此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 WriteToServer(DbDataReader)拋出的例外。
適用於
WriteToServerAsync(DataRow[], CancellationToken)
非同步版本WriteToServer(DataRow[])的 ,將所有列從所提供DataRow陣列複製到由DestinationTableNameSqlBulkCopy物件屬性指定的目的表。
取消標記可用來請求在指令逾時前放棄操作。 例外將透過回傳的任務物件回報。
public:
System::Threading::Tasks::Task ^ WriteToServerAsync(cli::array <System::Data::DataRow ^> ^ rows, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task WriteToServerAsync(System.Data.DataRow[] rows, System.Threading.CancellationToken cancellationToken);
member this.WriteToServerAsync : System.Data.DataRow[] * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function WriteToServerAsync (rows As DataRow(), cancellationToken As CancellationToken) As Task
參數
- cancellationToken
- CancellationToken
取消指示。 此 None 參數中的值使此方法等價於 WriteToServerAsync(DataTable)。
傳回
一個代表非同步操作的任務。
例外狀況
在同一 WriteToServerAsync(DataRow[]) 個實例呼叫多次,任務才完成。
WriteToServerAsync(DataRow[])呼叫 和 WriteToServer(DataRow[]) 在任務完成前的同一個實例。
連線在執行過程中 WriteToServerAsync(DataRow[]) 會中斷或關閉。
在任務物件中回傳, SqlBulkCopy 該物件在方法執行時會被關閉。
任務物件回傳時,連線池有逾時。
在任務物件中回傳時,該 SqlConnection 物件在方法執行前會被關閉。
Context Connection=true 在連接字串中指定。
在任務物件中回傳的是 SQL Server 在開啟連線時所回傳的任何錯誤。
取消令牌也被取消了。 此例外會儲存在回傳的任務中。
備註
欲了解更多關於.NET框架Data Provider for SQL Server 非同步程式設計的資訊,請參見 非同步程式設計。
此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 WriteToServer(DataRow[])拋出的例外。
適用於
WriteToServerAsync(DataTable, DataRowState)
非同步版本WriteToServer(DataTable, DataRowState),僅複製與所提供DataTable列狀態相符的列,送達由物件屬性DestinationTableName指定的SqlBulkCopy目的表。
public:
System::Threading::Tasks::Task ^ WriteToServerAsync(System::Data::DataTable ^ table, System::Data::DataRowState rowState);
public System.Threading.Tasks.Task WriteToServerAsync(System.Data.DataTable table, System.Data.DataRowState rowState);
member this.WriteToServerAsync : System.Data.DataTable * System.Data.DataRowState -> System.Threading.Tasks.Task
Public Function WriteToServerAsync (table As DataTable, rowState As DataRowState) As Task
參數
- rowState
- DataRowState
一個來自 DataRowState 枚舉的數值。 只有與列狀態相符的列會被複製到目的地。
傳回
一個代表非同步操作的任務。
例外狀況
在同一 WriteToServerAsync(DataTable, DataRowState) 個實例呼叫多次,任務才完成。
WriteToServerAsync(DataTable, DataRowState)呼叫 和 WriteToServer(DataTable, DataRowState) 在任務完成前的同一個實例。
連線在執行過程中 WriteToServerAsync(DataTable, DataRowState) 會中斷或關閉。
在任務物件中回傳, SqlBulkCopy 該物件在方法執行時會被關閉。
任務物件回傳時,連線池有逾時。
在任務物件中回傳時,該 SqlConnection 物件在方法執行前會被關閉。
Context Connection=true 在連接字串中指定。
在任務物件中回傳的是 SQL Server 在開啟連線時所回傳的任何錯誤。
備註
欲了解更多關於.NET框架Data Provider for SQL Server 非同步程式設計的資訊,請參見 非同步程式設計。
此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 WriteToServer(DataTable, DataRowState)拋出的例外。
適用於
WriteToServerAsync(DataTable, CancellationToken)
非同步版本 WriteToServer(DataTable),將所提供 DataTable 的所有列複製到由 DestinationTableName 物件屬性 SqlBulkCopy 指定的目的表。
取消標記可用來請求在指令逾時前放棄操作。 例外將透過回傳的任務物件回報。
public:
System::Threading::Tasks::Task ^ WriteToServerAsync(System::Data::DataTable ^ table, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task WriteToServerAsync(System.Data.DataTable table, System.Threading.CancellationToken cancellationToken);
member this.WriteToServerAsync : System.Data.DataTable * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function WriteToServerAsync (table As DataTable, cancellationToken As CancellationToken) As Task
參數
- cancellationToken
- CancellationToken
取消指示。 此 None 參數中的值使此方法等價於 WriteToServerAsync(DataTable)。
傳回
一個代表非同步操作的任務。
例外狀況
在同一 WriteToServerAsync(DataTable) 個實例呼叫多次,任務才完成。
WriteToServerAsync(DataTable)呼叫 和 WriteToServer(DataTable) 在任務完成前的同一個實例。
連線在執行過程中 WriteToServerAsync(DataTable) 會中斷或關閉。
在任務物件中回傳, SqlBulkCopy 該物件在方法執行時會被關閉。
任務物件回傳時,連線池有逾時。
在任務物件中回傳時,該 SqlConnection 物件在方法執行前會被關閉。
Context Connection=true 在連接字串中指定。
在任務物件中回傳的是 SQL Server 在開啟連線時所回傳的任何錯誤。
取消令牌也被取消了。 此例外會儲存在回傳的任務中。
備註
欲了解更多關於.NET框架Data Provider for SQL Server 非同步程式設計的資訊,請參見 非同步程式設計。
此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 WriteToServer(DataTable)拋出的例外。
適用於
WriteToServerAsync(DataTable, DataRowState, CancellationToken)
非同步版本WriteToServer(DataTable, DataRowState),僅複製與所提供DataTable列狀態相符的列,送達由物件屬性DestinationTableName指定的SqlBulkCopy目的表。
取消標記可用來請求在指令逾時前放棄操作。 例外將透過回傳的任務物件回報。
public:
System::Threading::Tasks::Task ^ WriteToServerAsync(System::Data::DataTable ^ table, System::Data::DataRowState rowState, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task WriteToServerAsync(System.Data.DataTable table, System.Data.DataRowState rowState, System.Threading.CancellationToken cancellationToken);
member this.WriteToServerAsync : System.Data.DataTable * System.Data.DataRowState * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function WriteToServerAsync (table As DataTable, rowState As DataRowState, cancellationToken As CancellationToken) As Task
參數
- rowState
- DataRowState
一個來自 DataRowState 枚舉的數值。 只有與列狀態相符的列會被複製到目的地。
- cancellationToken
- CancellationToken
取消指示。 此 None 參數中的值使此方法等價於 WriteToServerAsync(DataTable)。
傳回
一個代表非同步操作的任務。
例外狀況
在同一 WriteToServerAsync(DataTable, DataRowState) 個實例呼叫多次,任務才完成。
WriteToServerAsync(DataTable, DataRowState)呼叫 和 WriteToServer(DataTable, DataRowState) 在任務完成前的同一個實例。
連線在執行過程中 WriteToServerAsync(DataTable, DataRowState) 會中斷或關閉。
在任務物件中回傳, SqlBulkCopy 該物件在方法執行時會被關閉。
任務物件回傳時,連線池有逾時。
在任務物件中回傳時,該 SqlConnection 物件在方法執行前會被關閉。
Context Connection=true 在連接字串中指定。
在任務物件中回傳的是 SQL Server 在開啟連線時所回傳的任何錯誤。
取消令牌也被取消了。 此例外會儲存在回傳的任務中。
備註
欲了解更多關於.NET框架Data Provider for SQL Server 非同步程式設計的資訊,請參見 非同步程式設計。
此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 WriteToServer(DataTable, DataRowState)拋出的例外。