我一直收到这个错误
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
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()我用这种方法也得到了同样的错误
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()但是,批量复制可以工作,而其他部分不能
发布于 2011-03-08 05:39:42
SqlBulkCopy正在打开连接,结束后使用您尝试再次打开它。
要么在大容量复制之后关闭连接,要么在存储过程执行之前不尝试再次打开它。
发布于 2011-03-08 05:40:18
你在"dbo.taskadding“之前做了一个conn.Open,但它已经被SqlBulkCopy打开了。
发布于 2011-03-08 22:14:32
cmd1.Connection = conn哇,我怎么会错过呢?
https://stackoverflow.com/questions/5225487
复制相似问题