首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用notifyafter和transactions的sqlbulkcopy

使用notifyafter和transactions的sqlbulkcopy
EN

Stack Overflow用户
提问于 2012-03-16 07:03:06
回答 1查看 1.2K关注 0票数 0

我有下面的代码,我试图用它来测试是否有可能使用事务和notifyAfter属性来引发事件(我已经尝试用事件替换我自己创建/引发的事件,但只有在复制完所有行之后才会引发)。下面的链接表明这是不可能的

MSDN

有没有人有这方面的经验?谢谢

代码语言:javascript
复制
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();
                {
                        try
                        {
                            using (SqlBulkCopy copy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.KeepIdentity |SqlBulkCopyOptions.UseInternalTransaction))

                            {
                                //Column mapping for the required columns.
                                for (int count = 0; count < numberOfColumns; count++)
                                {
                                    copy.ColumnMappings.Add(count, count);
                                }

                                //SQLBulkCopy parameters.
                                copy.DestinationTableName = dataTableName;
                                copy.BatchSize = batchSize;

                                copy.SqlRowsCopied += new SqlRowsCopiedEventHandler(OnSqlRowsCopied);
                                copy.NotifyAfter = 5;

                                copy.WriteToServer(fullDataTable);
                            }
                        }
                        //Error(s) occured while trying to commit the transaction.
                        catch (InvalidOperationException transactionEx)
                        {
                            //uploadTransaction.Rollback();
                            status = "The current transaction has been rolled back due to an error. \n\r" + transactionEx.Message;
                            MessageBox.Show(status, "Error Message:");
                            alreadyCaught = true;
                            throw;
                        }
                }
EN

回答 1

Stack Overflow用户

发布于 2012-03-16 07:22:50

我假设由于事务的原因,只有在事务提交之后才会进行处理,因此在此之后才会引发事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9729504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档