- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
知道这有很多问题。这是因为该行数据被其他线程更新,而其他线程无法获取锁。不过,我想询问更多细节:
我有一些代码如下:
// catch all for hibernate super exception
public SystemErrorCode map(final org.hibernate.JDBCException dae) {
log.info( "dae : " + dae );
log.info( "dae error code : " + dae.getErrorCode( ) );
log.info( "dae sql : " + dae.getSQL( ) );
log.info( "dae sql exception : " + dae.getSQLException( ) );
log.info( "dae sql state : " + dae.getSQLState( ) );
log.info( "dae cause : " + dae.getCause( ) );
log.info( "dae message : " + dae.getMessage( ) );
return new SystemErrorCode( "DAO0005", SYSTEM_DAO );
}
这是日志:
dae : org.hibernate.exception.LockAcquisitionException: could not execute native bulk manipulation query
dae error code : -911
dae sql : update PHistory SET currentStatus = :currentStatus , MODIFIEDDATETIME = CURRENT TIMESTAMP where pHistoryId = :pHistoryId
dae sql exception : com.ibm.db2.jcc.am.SqlTransactionRollbackException: DB2 SQL Error: SQLCODE=-911, SQLSTATE=40001, SQLERRMC=68, DRIVER=3.65.110
dae sql state : 40001
dae cause : com.ibm.db2.jcc.am.SqlTransactionRollbackException: DB2 SQL Error: SQLCODE=-911, SQLSTATE=40001, SQLERRMC=68, DRIVER=3.65.110
dae message : could not execute native bulk manipulation query
当我检查代码时,实际上没有其他线程来更新同一条记录,因为 pHistory 是主线程并且是唯一的。
但是,我在生产中不断遇到这个问题,并且我无法在本地或 SIT 或 UAT 中模拟它。我试图知道哪个线程,或者从我的代码的哪个位置实际上锁定了同一行,然后导致此错误。
最佳答案
我终于找到了根本原因并设法解决了它。实际上是由于PHistory表记录数量庞大,且与其他表的联动较多,索引较少造成的。
我对此查询运行db2expln
,发现添加建议的索引将提高 99% 的性能。添加索引并监控几个月后,好消息是我的程序中不再发生此异常。
所以,它实际上不是由其他线程更新同一行引起的,我以错误的方式找到了解决方案。直到我检查索引。因此,以后如果您遇到类似的问题,不妨尝试一下索引,看看结果如何。
关于java - com.ibm.db2.jcc.am.SqlTransactionRollbackException : DB2 SQL Error: SQLCODE=-911, SQLSTATE=40001,SQLERRMC=68,DRIVER=3.65.110,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50229659/
env file:环境文件: APP_ENV=localAPP_DEBUG=trueAPP_KEY= ...........DB_HOST=srv3.linuxisrael.co.ilDB_D
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我在这里有一个 plpgsql 函数来指示在 ANALYZE 期间是否引发了任何警告: CREATE OR REPLACE FUNCTION analyzeWarning() RETURNS inte
我创建了一个过程,如果输入等于 0,该过程将抛出 SQLException 并显示错误消息“dwa”。 CREATE PROCEDURE enter_the_dragon(test INT) BEGI
我在尝试通过 8443 门户连接到我的服务器时收到此错误: ERROR: Zend_Db_Adapter_Exception: SQLSTATE[HY000] [2002] No such file
在插入投票之前,我需要检查每个用户的声誉数。因此,为了这个目的,我有一个像这样的TRIGGER: CREATE TRIGGER check_reputation BEFORE INSERT ON vo
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error oraccess violation: 1064 You have
MYSQL 在处理通过别名调用的表的子查询时触发 SQLSTATE[42S02] 错误 “更新 call_log AS c1 INNER JOIN call_log AS c2 ON c1.id =
我在 PostgreSQL (mixbest) 中有一个包含 73018 行的表。我要选择的字段是: sample integer m integer, pciv double prec
我刚刚收到此错误...请帮我解决这个错误! www.sp-power.com Error in file: "/home/sppower6/public_html/app/code/core/Mage
例如,我有产品[香蕉]和产品[橙色],我希望这两个产品在数据库中使用相同的图片。但是,当我尝试添加与第一个产品具有相同图片的第二个产品时,我收到此错误: SQLSTATE[23000]: Integr
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 已关闭 7 年前。 编辑问题以包含 desired behavior, a specific problem
Closed. This question is off-topic。它当前不接受答案。
运行时: DELIMITER $$ CREATE TRIGGER tr_test BEFORE UPDATE ON test FOR EACH ROW BEGIN
我的代码大部分已经运行起来了。我似乎不断地一遍又一遍地犯同样的错误。我认为这是因为我在错误的地方放了逗号,但我不知道。谁能帮我看一下这段代码吗? setAttribute(PDO::ATTR_ERRM
我正在尝试获取我的 yii 应用程序的时间范围。 这是我的模型: public function timeRange($attribute, $params) { $criteria
prepare($sql); foreach($parameters as $name=>$value){ $query->bindValue($name,$value);
我有一个前触发器,它可以防止数据更新到表中。为此,我使用了“SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'This operation is not allo
您好,我在 SQL 查询中遇到错误,无法弄清楚问题出在哪里。这是到目前为止在 Barmar 的帮助下的查询。 $query = "SELECT c.*, count(s.curso_id) as c
我构建了 restful API 及其工作,但是当我尝试将参数传递给链接时,下面显示错误,尽管当我打印参数时结果是正确的! 详细信息 Type: PDOException Code: 42000 Me
我是一名优秀的程序员,十分优秀!