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