SqlBulkCopy.WriteToServerAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
异步版本WriteToServer,它将数据源中的所有行复制到由对象属性SqlBulkCopy指定的DestinationTableName目标表。
重载
注解
如果禁用 WriteToServer 了多个活动结果集(MARS),则使连接变得繁忙。 如果启用了 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其行将复制到目标表。
- 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 Framework Data Provider 中用于SQL Server的异步编程的详细信息,请参阅 Asynchronous Programming。
此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 WriteToServer(IDataReader)..
适用于
WriteToServerAsync(DbDataReader)
异步版本的 WriteToServer(DbDataReader),它将提供DbDataReader数组中的所有行复制到由对象属性DestinationTableName指定的SqlBulkCopy目标表。
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其行将复制到目标表。
返回
表示异步操作的任务。
注解
有关 .NET Framework Data Provider 中用于SQL Server的异步编程的详细信息,请参阅 Asynchronous Programming。
此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 WriteToServer(DbDataReader)..
适用于
WriteToServerAsync(DataRow[])
异步版本的 WriteToServer(DataRow[]),它将提供DataRow数组中的所有行复制到由对象属性DestinationTableName指定的SqlBulkCopy目标表。
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 Framework Data Provider 中用于SQL Server的异步编程的详细信息,请参阅 Asynchronous Programming。
此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 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 Framework Data Provider 中用于SQL Server的异步编程的详细信息,请参阅 Asynchronous Programming。
此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 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其行将复制到目标表。
返回
表示异步操作的任务。
例外
在任务完成之前为同一实例多次调用 WriteToServerAsync(IDataReader) 。
在任务完成之前调用 WriteToServerAsync(IDataReader) 和 WriteToServer(IDataReader) 调用同一实例。
连接在执行过程中 WriteToServerAsync(IDataReader) 会删除或关闭。
在任务对象中返回,在 SqlBulkCopy 方法执行期间关闭对象。
在任务对象中返回,存在连接池超时。
在任务对象中返回,在 SqlConnection 方法执行之前关闭该对象。
在 IDataReader 完成 Task 返回之前关闭了。
在 IDataReader返回完成 Task 之前关闭了关联的连接。
Context Connection=true在连接字符串中指定。
在任务对象中返回,打开连接时SQL Server返回的任何错误。
注解
有关 .NET Framework Data Provider 中用于SQL Server的异步编程的详细信息,请参阅 Asynchronous Programming。
此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 WriteToServer(IDataReader)..
适用于
WriteToServerAsync(DbDataReader, CancellationToken)
异步版本的 WriteToServer(DbDataReader),它将提供DbDataReader数组中的所有行复制到由对象属性DestinationTableName指定的SqlBulkCopy目标表。
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其行将复制到目标表。
- cancellationToken
- CancellationToken
取消指令。 None此参数中的值使此方法等效 WriteToServerAsync(DbDataReader)。
返回
返回 Task。
例外
取消令牌已取消。 此异常存储在返回的任务中。
注解
此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 WriteToServer(DbDataReader)..
适用于
WriteToServerAsync(DataRow[], CancellationToken)
异步版本的 WriteToServer(DataRow[]),它将提供DataRow数组中的所有行复制到由对象属性DestinationTableName指定的SqlBulkCopy目标表。
取消令牌可用于请求在命令超时之前放弃操作。 异常将通过返回的任务对象报告。
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 Framework Data Provider 中用于SQL Server的异步编程的详细信息,请参阅 Asynchronous Programming。
此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 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 Framework Data Provider 中用于SQL Server的异步编程的详细信息,请参阅 Asynchronous Programming。
此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 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 Framework Data Provider 中用于SQL Server的异步编程的详细信息,请参阅 Asynchronous Programming。
此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 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 Framework Data Provider 中用于SQL Server的异步编程的详细信息,请参阅 Asynchronous Programming。
此方法存储在任务中,它返回该方法的同步对应项可以引发的所有非使用异常。 如果异常存储在返回的任务中,则等待任务时将引发该异常。 使用情况异常(例如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅由 WriteToServer(DataTable, DataRowState)..