`

进程和数据库操作commit等问题出现僵死进程导致偶尔出错

 
阅读更多

项目管理中,有个交易的问题,偶尔出现,查了很多代码和相关模块,都没看出来,是在头疼。

最后:

发现是新上的那个签约接口有问题
里面有些操作没有写commit或reback
结果昨天有商户开户刚好一个字段过大,报错,而开户的时候会调用这个签约接口,结果没有commit或reback,搞死了这个正在服务的进程,进程僵死,并进入轮询进程里参与下次的调度,下一次的时候那个预授权的服务来了,刚好碰上了那个进程来服务他,就出事了。

现在的做法是加好commit和reback的操作后,打补丁上去,保证以后不会出事。

分享到:
评论

相关推荐

    C# 数据库操作封装类

    本主题将详细探讨“C#数据库操作封装类”的设计和应用,以及如何利用此类来简化数据库操作。 首先,"COleDbOperate.cs"文件可能包含一个通用的数据库操作类,它使用ADO.NET中的System.Data.OleDb命名空间,支持多种...

    php数据库操作封装类.zip

    数据库操作往往涉及多条SQL语句,封装类会提供事务支持,如`beginTransaction()`、`commit()`和`rollback()`,确保一组操作要么全部成功,要么全部回滚,保证数据的一致性。 5. **结果集处理**: 查询后,封装类...

    Qt sqlite 数据库操作封装

    在IT领域,数据库操作是应用程序开发中的核心环节,尤其是在桌面应用和嵌入式系统中。Qt框架提供了一个强大的工具集,使得开发者可以方便地利用SQLite数据库进行数据存储和管理。本篇文章将深入探讨如何在QT5.14.2...

    SQL数据库操作模块.rar

    在这个"SQL数据库操作模块.rar"压缩包中,我们可以期待找到与SQL相关的各种资源,如教程、示例代码、练习库等,帮助我们学习和提升SQL技能。 首先,我们要理解SQL的基本概念。SQL分为DDL(Data Definition Language...

    多进程写sqlite互斥解决方案代码

    在IT行业中,数据库管理是至关重要的,特别是在高并发环境下,如何保证数据的一致性和完整性是开发者面临的关键问题。本文将详细探讨标题所提及的“多进程写SQLite互斥解决方案代码”,以及它如何处理多线程环境下的...

    C# ACCESS 数据库操作类

    6. **BeginTransaction()和CommitTransaction()/RollbackTransaction()**:事务处理是数据库操作中的重要部分,AccessHelper可能提供开始事务、提交事务或回滚事务的方法,确保数据的一致性和完整性。 7. **Close...

    C#-SQLServer数据库操作类技术手册

    9. LINQ to SQL:这是一种简化数据库操作的方式,允许开发者使用C#查询语法直接操作数据库,提高了代码的可读性和简洁性。 10. Entity Framework:微软提供的ORM(对象关系映射)框架,能将数据库表映射为C#类,...

    C# SQL Server数据库操作DLL

    `BeginTransaction()`、`Commit()`和`Rollback()`方法可以用于开启一个事务、提交事务或回滚事务,确保在出现错误时可以撤销已进行的操作。 5. **错误处理**:为了处理可能出现的异常,DLL应该包含了异常捕获和处理...

    Sqlite3数据库操作类V2.1最新版

    SQLite3是一种轻量级、开源的嵌入式关系数据库,广泛应用于移动设备和单机应用程序中,因为它无需单独的服务器进程,可以直接在客户端程序中进行数据存储。在本主题中,我们将深入探讨“Sqlite3数据库操作类V2.1最新...

    JAVA数据库操作工具类

    总结起来,`JAVA数据库操作工具类` 是一个实现对SQL Server数据库基础操作的实用类,利用JDBC接口和JUnit测试,确保了代码的稳定性和易用性。通过合理的设计和测试,这样的工具类可以大大提高开发人员在处理数据库...

    IOS sqlite数据库操作

    在`sqlitDemo`项目中,你可能可以找到一个简单的SQLite数据库操作示例,包括创建数据库、表格,以及插入、查询、更新和删除数据等操作。通过研究这个示例,你可以更好地理解如何在实际的iOS应用中使用SQLite数据库。

    C#实现Mysql数据库操作实例(含源码)

    在本文中,我们将深入探讨如何使用C#语言来实现对MySQL数据库的操作。C#是一种广泛应用于Windows和Web应用程序开发的强大编程语言,而MySQL则是一种高效、开源的关系型数据库管理系统。结合两者,我们可以创建功能...

    基于OO4O和VC 6.0 实现Oracle数据库操作C++源代码程序小实例

    OO4O是Oracle为.NET Framework开发的,它提供了一组与Oracle数据库交互的托管类,这些类使得开发者可以使用C++等.NET语言以面向对象的方式操作数据库。它支持包括连接、查询、事务处理、数据操作等在内的各种数据库...

    好用的sqlce3.5数据库操作工具

    通过BEGIN TRANSACTION、COMMIT和ROLLBACK语句,可以控制数据操作的原子性,防止因系统故障导致的数据不一致。 5. **备份与恢复**:虽然SQL CE 3.5的备份和恢复功能相对简单,但依然可以通过复制数据库文件(.sdf...

    SQLite3基本数据库操作

    这篇内容将深入探讨SQLite3的基本数据库操作,包括其API的使用和C语言接口。 在SQLite3中,数据库操作主要通过C语言的API接口进行,这些接口提供了创建、打开、关闭数据库,执行SQL语句,以及处理结果集等功能。...

    数据库操作类

    "数据库操作类"是一个为了简化数据库交互而设计的代码模块,它通常包含了连接、查询、插入、更新和删除数据等功能。这类类库可以提高代码的可读性、可维护性和复用性,降低出错的可能性。 在PHP中,数据库操作类的...

    java源代码 对数据库的操作

    8. **JPA和Spring Data**:在Java EE和Spring框架中,JPA(Java Persistence API)是标准的ORM规范,而Spring Data提供了一种更简洁的方式来访问数据库,包括自动化的CRUD操作和动态查询。 在"databasebrowse"这个...

    C++完整数据库SQLServer操作类(ODBC)

    在IT行业中,数据库操作是应用程序开发中的重要环节,尤其是在企业级应用中。C++作为一款强大的编程语言,虽然原生不支持内置的数据库接口,但可以通过ODBC(Open Database Connectivity)来实现对多种数据库系统的...

    通用数据库操作。支持Sql Server_Oracle_MySQL_Sqlite

    7. 错误处理:捕获并处理数据库操作中可能出现的异常和错误。 8. 元数据访问:获取数据库的结构信息,如表名、列名、索引等。 9. 批量操作:一次性处理大量数据,提高性能。 10. 并发控制:在多用户环境下,确保...

    封装后的数据库操作函数

    在IT行业中,数据库操作是应用程序开发中的核心环节,它涉及到数据的存储、查询、更新和删除等基本功能。"封装后的数据库操作函数"是将这些基础操作进行抽象和封装,以便于开发者更高效、安全地与数据库交互。下面将...

Global site tag (gtag.js) - Google Analytics