摘要:
当 Microsoft ADO.NET 连接应用程序使用 SqlBulkCopy 类时,您可能会收到与以下类似的错误消息:
超时已过期。 要完成操作之前已超时或服务器没有响应。 在 System.Data.SqlClient.SqlConnection.OnError (SqlException 异常、 布尔 breakConnection) 在 System.Data.SqlClient.SqlInternalConnection.OnError (SqlException 异常、 布尔 breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Run RunBehavior runBehavior、 SqlCommand cmdHandler、 SqlDataReader 数据流、 BulkCopySimpleResultSet bulkCopyHandle 阅读全文
摘要:
Oracle只在修改时对数据库加行级锁。正常情况下不会升级到块级锁或表级锁(不过两段提交期间的一段很短的时间内除外,这是一个不常见的操作)。如果只是读数据,Oracle绝不会对数据锁定。不会因为简单的读操作在数据行上锁定。写入器(writer)不会阻塞读取器(reader)。换种说法:读(read)不会被写(write)阻塞。这一点几乎与其它所有数据库都不一样。在其它数据库中,读往往会被写阻塞。尽管听上去这个特性似乎很不错(一般情况下确实如此),但是如果你没有充分理解这个思想,而且想通过应用逻辑对应用施加完整性约束,就极有可能做得不对。写入器想写某行数据,但另一个写入器已经锁定了这行数据,此时 阅读全文