首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >批量复制后出错

批量复制后出错
EN

Stack Overflow用户
提问于 2011-03-08 05:29:49
回答 3查看 343关注 0票数 0

我一直收到这个错误

System.InvalidOperationException:连接未关闭。连接的当前状态为打开。at System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open() at Default2.atasks_Click(对象发送者,EventArgs e) in

代码语言:javascript
复制
Using bcp As SqlBulkCopy = New SqlBulkCopy(conn)
    bcp.ColumnMappings.Add(0, 1)
    bcp.ColumnMappings.Add(1, 2)
    bcp.ColumnMappings.Add(2, 3)
    bcp.ColumnMappings.Add(3, 4)
    bcp.ColumnMappings.Add(4, 7)
    bcp.ColumnMappings.Add(5, 5)
    bcp.ColumnMappings.Add(6, 10)
    bcp.ColumnMappings.Add(7, 13)
    bcp.ColumnMappings.Add(8, 6)
    bcp.DestinationTableName = "dbo.stagingtasks"
    bcp.WriteToServer(table)
End Using

conn.Open()

cmd1.CommandText = "dbo.taskadding"
cmd1.CommandType = CommandType.StoredProcedure

cmd1.BeginExecuteNonQuery()
conn.Close()

我用这种方法也得到了同样的错误

代码语言:javascript
复制
 conn.Open()
        Using bcp As SqlBulkCopy = New SqlBulkCopy(conn)
        bcp.ColumnMappings.Add(0, 1)
        bcp.ColumnMappings.Add(1, 2)
        bcp.ColumnMappings.Add(2, 3)
        bcp.ColumnMappings.Add(3, 4)
        bcp.ColumnMappings.Add(4, 7)
        bcp.ColumnMappings.Add(5, 5)
        bcp.ColumnMappings.Add(6, 10)
        bcp.ColumnMappings.Add(7, 13)
        bcp.ColumnMappings.Add(8, 6)
        bcp.DestinationTableName = "dbo.stagingtasks"
        bcp.WriteToServer(table)
        bcp.Close()

    End Using

    conn.Close()


    atasks.Visible = False
    UpdatePanel2.Update()
    Label2.Visible = False


    conn.Open()
    cmd1.CommandText = "dbo.taskadding"
    cmd1.CommandType = CommandType.StoredProcedure

    cmd1.BeginExecuteNonQuery()
    conn.Close()

但是,批量复制可以工作,而其他部分不能

EN

回答 3

Stack Overflow用户

发布于 2011-03-08 05:39:42

SqlBulkCopy正在打开连接,结束后使用您尝试再次打开它。

要么在大容量复制之后关闭连接,要么在存储过程执行之前不尝试再次打开它。

票数 0
EN

Stack Overflow用户

发布于 2011-03-08 05:40:18

你在"dbo.taskadding“之前做了一个conn.Open,但它已经被SqlBulkCopy打开了。

票数 0
EN

Stack Overflow用户

发布于 2011-03-08 22:14:32

代码语言:javascript
复制
 cmd1.Connection = conn

哇,我怎么会错过呢?

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

https://stackoverflow.com/questions/5225487

复制
相关文章

相似问题

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