4
投票
2答案
4528 次观看

mySQL-使用PHP的mysqli设置隔离级别

如何使用mysqli在PHP中将事务的隔离级别设置为“ SERIALIZABLE”?我到处都是,却找不到任何信息。 此处是隔离级别的说明。

4
投票
1答案
4308 次观看

MySQL-表锁定与行锁定

应用说明 我有一张表格,其中存储有代表地图上区域的ID。每个地图包含1000个区域。 地区是指触摸中的任意数量的地图区域。用户争夺地图不同区域的所有权。 数据库设计 目前,我有一张地图,一张领土表和一张面积表。 tblMaps: MapID, MapName tblTerritories: TerrID (unique game wide), MapID, OwnerID, Status, Modified tblAreas: AreaID (1-1000), TerrID 目前,tblAreas仅在地图内存储占用区域-不管是否有人拥有,每个地图都不会包含...

2
投票
1答案
847 次观看

QSqlDatabase :: transaction和其他打开的事务,阻塞还是失败?

在数据库连接上使用QSqlDatabase::transaction()时,我正在通过Qt处理Sql Server和Oracle。当另一个用户/连接在同一数据库上打开了事务时,transaction()会阻塞直到另一个事务完成或失败?

1
投票
3答案
2245 次观看

MySQL-防止重复预定

我正在尝试找出最好的方法来停止应用程序中的两次“预订”。 我有一个唯一ID表,每个表只能出售一次。 我当前的想法是使用事务检查所选产品是否可用,然后将其插入到“状态”列中以表示已被“保留”,然后插入“更新时间”,然后用户继续付款,我将状态更新为“已售”。 每10分钟,我都会进行一次cron作业检查,以检查“状态” =“保留”,该检查已在10多分钟前更新,并删除了此类行。 有更好的方法吗?我从未使用过交易(我刚刚听到过这样的词),所以如果有人可以解释我将如何做到这一点,那将是王牌。

0
投票
1答案
149 次观看

InnoDB事务帮助-如果未找到,则选择然后添加唯一行

我有一个包含IPAddress部分的mysql表 TABLE `EndPoints`( `EndPointId` BIGINT(19) UNSIGNED NOT NULL AUTO_INCREMENT , `IpPart1` TINYINT(3) UNSIGNED NOT NULL , `IpPart2` TINYINT(3) UNSIGNED NOT NULL , `IpPart3` TINYINT(3) UNSIGNED NOT NULL , `IpPart4` TINYINT(3) UNSIGNED NOT NULL , PRIM...

0
投票
2答案
392 次观看

从事务中的SQL批中止错误中恢复?另类?

我正在寻找一种方法,即使在插入低优先级数据时出错也可以继续执行事务。看起来真正的嵌套事务可能是一个解决方案,但是SQL Server 2005/2008不支持它们。另一个解决方案是让逻辑来确定错误是否很严重,但这似乎也不可能。 有关我的情况的更多信息: 使用ADO.NET/C#定期将数据插入数据库中,尽管其中一些至关重要,但也可能会毫无问题地丢失一些数据。插入完成后,将对数据进行一些计算。 (至关重要的和不重要的)整个过程都在事务内部,因此一切保持同步。 当前,使用事务保存点,并对在非重要插入期间发生的异常进行部分回滚。但是,这不适用于“批中止”错误,该错误会自动回滚整个事务。我知...

1
投票
2答案
1008 次观看

MySql的唯一ID为几条记录

我使用一个带有一些临时列(例如ID,名称,电子邮件等)的表...我还在每笔交易中插入可变数量的记录,为了提高效率,我需要一个唯一的ID让我们致电交易ID(对于在一个交易中插入的每组数据都应相同)应该是递增的。这样做的最佳方法是什么? 我被认为使用 select max(transaction_id) from users 并在服务器端增加该值,但是这种接缝就像老式的解决方案一样。

0
投票
2答案
62 次观看

如何找出COMMIT可能发生的地方?

我正在重构一些代码,将许多相关的更新转换为单个事务。 这是使用JDBC,MySQL,InnoDB。 我相信在(相当大且未记录的)库或应用程序代码中的某个地方仍然会发生不必要的COMMIT。 找出发生这种情况的最简单方法是什么? 必须存在某种隐式提交,因为我没有找到任何COMMIT语句。

5
投票
4答案
3150 次观看

即使未调用System.Transactions.TransactionScope.Commit()也会提交数据

在什么情况下,即使引发了异常并且从未调用过最外部的作用域,包裹在System.Transactions.TransactionScope中的代码仍然可以提交? 在using (var tx = new TransactionScope())中包装了一个顶级方法,该调用方法也以相同的方式使用TransactionScope。 我正在使用带有关联的表适配器的类型化数据集。可能是适配器由于某种原因而没有加入命令?你们中有谁知道如何检查他们是否正在周围的TransactionScope中注册吗?

3
投票
1答案
521 次观看

东京暴君交易支持

我注意到rufus-tokyo和其他api支持Tokyo Tyrant中的交易。我在TT文档( http:// 1978th。net / tokyotyrant / spex.html#clientprog ) 是否模拟了交易支持?还是有一种使用C api进行服务器端事务的方法?

1
投票
1答案
2439 次观看

关于MyISAM表上的锁定和事务的问题

myisam表中有一个计数器字段。要在多任务环境(Web服务器,来自PHP的并发查询)中更新计数器值,我需要锁定记录以进行更新。 所以我这样做: START TRANSACTION; SELECT Counter FROM mytable ... FOR UPDATE; UPDATE Counter value or INSERT INTO mytable; // let's make sleep for 20 seconds here to make transaction longer COMMIT; 据我了解,在MyISAM中,应该锁定整个表,直到事务结束。 ...

284
投票
7答案
74133 次观看

TransactionScope是否在某些计算机上自动升级为MSDTC?

在我们的项目中,我们使用TransactionScope来确保我们的数据访问层在事务中执行其动作。我们的目标是不要求在最终用户的计算机上启用MSDTC服务。 问题是,在我们一半的开发人员机器上,我们可以在禁用MSDTC的情况下运行。另一半必须启用它,否则他们将收到“ [SERVER]上的MSDTC不可用” 错误消息。 这真的让我抓狂,让我认真考虑回滚到基于ADO.NET事务对象的自家类似TransactionScope的解决方案。看起来很疯狂-在我们开发人员的一半确实上升级(而不会升级)的同一代码在另一位开发人员上升级。 我希望对了解为什么将交易升级为DTC的更好答案,但不幸的...

8
投票
7答案
13346 次观看

SQL Server竞争条件问题

(注意:这是用于MS SQL Server) 假设您有一个具有主键标识列和CODE列的表ABC。我们希望这里的每一行都有一个唯一的,顺序生成的代码(基于一些典型的校验位公式)。 假设您有另一个仅具有一行的表DEF,该表存储下一个可用的CODE(想象一个简单的自动编号)。 我知道如下所示的逻辑将呈现一种竞争状态,其中两个用户可能最终获得相同的代码: 1) Run a select query to grab next available code from DEF 2) Insert said code into table ABC 3) Increment the value ...

1
投票
2答案
5582 次观看

NHibernate-为什么Delete()调用无法删除,但是通过HQL删除仍然有效?

考虑以下代码块,为什么对HQL的调用有效但对delete()的调用无效?作为背景,我正在通过IBM.Data.DB2.Iseries驱动程序使用NHibernate。来了解一下,AS400上的日记功能已关闭,因此我无法使用事务处理。我不是AS400管理员或对此一无所知,所以我不知道是否关闭日记功能(不打开交易记录)是否导致此问题。如果我要调用Delete()或其他NHibernate函数,是否绝对需要打开事务的功能? //This Does not work - no error and no deletes public static void Delete(Object Enti...

0
投票
8答案
417 次观看

神经运行查询(SQL Server):您对此有何看法?

我是SQL Server Management Studio的经常用户。有时我遇到要运行更新或删除查询的情况,但是我担心某些打字错误或逻辑错误会导致我对表进行不必要的大量更改(例如在更改1000行时我打算更改2)。 过去,我只是握紧拳头并屏住呼吸,但随后我想知道是否可以在运行可能导致灾难性的查询之前做这样的事情: 1)在下面运行 begin transaction (my update/insert/delete statement I want to run) 2)如果满意,请致电: commit transaction 3)或者,如果我犯规了,请致电:...

1
投票
1答案
506 次观看

回滚标识符NHibernate

如果事务中止,我想让NHibernate回滚事务期间保存的所有实体的标识符。我正在使用NHibernate 2.1.0,默认情况下它不会执行此操作。我提出了以下解决方案,该解决方案可以达到一定程度: public class RevertIdentifiersEventListener : DefaultSaveEventListener { private class RevertIdentiferSynchronization : ISynchronization { private IClassMetadata _classMetadata; ...

0
投票
5答案
638 次观看

如果我的过程对于事务超时时间太长怎么办?

我想知道什么是最佳实践,如果您有一个相当长的过程,最终以transaction timeout结尾,并且如果抛出异常,那么绝对应该可以回滚吗? 想象一下,整个应用程序设置的超时时间足够长,但是对于这样一个特定的超时时间却不够长。 您如何克服与此类似的情况?人们是否会模拟事务来解决此问题或仅为此过程重置超时持续时间?还有其他安全的方法吗? 谢谢, burak ozdogan

0
投票
3答案
729 次观看

用Java处理RollbackException

有什么办法可以“重播”交易吗? 我的意思是,有时我会得到RollbackException并回滚事务。然后我可以“克隆”交易并重试吗,或者一旦调用回滚,交易就会丢失? 我确实需要这些更改,并且真的不想跟踪每个更改以便以后重新运行... 谢谢, udi

0
投票
2答案
189 次观看

如何将此(请参见下面的代码)转换为C#?

如何将其翻译为C# import java.io.*; import java.net.*; class SimpleServer { private static SimpleServer server; ServerSocket socket; Socket incoming; BufferedReader readerIn; PrintStream printOut; public static void main(String[] args) { int port = 8080; try { por...

0
投票
1答案
1107 次观看

Sybase的春季交易

我正在Web应用程序中使用Spring,基础数据库为Sybase。 我要执行3个复杂的存储过程。 proc具有 create table 和 drop table 命令来保存临时结果集。 这些表是在用户db空间中创建的,而不是在tempdb空间中创建的。因此,我面临着确保将服务Bean的整个服务操作序列化的需求,该操作将具有调用存储过程的DAO对象。将service bean方法简单地设置为Spring事务,是否可以确保就我的情况解决潜在的并发相关问题? 我注意到的另一件事是,将服务方法注释为@Transactional,使sybase数据库抛出错误:“无法在事务内执行创建表命令...

32
投票
5答案
6869 次观看

NHibernate读取交易

我已经阅读了文档和说明,强烈建议在NH中对读操作使用事务。但是,我还没有完全“购买”它。有人可以告诉我我已经做过的事,而不只是告诉我RTFM吗?;)

0
投票
1答案
1345 次观看

您将在哪一层使用ASP.NET TransactionScope来实现事务?

我有一个服务,业务和数据访问层。我应该在哪一层使用asp.NET transactionscope实现事务?另外,嵌套事务是一件好事,因为我对此有疑问吗?

8
投票
3答案
5051 次观看

使用View中的Open Session时,事务传播如何工作?

我对使用Hibernate在Spring中进行事务传播感到非常困惑。我在服务层方法上使用Spring @Transactional批注。有些标记为“只读= true”。如果我的只读服务方法之一调用了非只读方法,该如何处理? 我想我可以标记所有读写方法以支持REQUIRES_NEW传播,但这会导致我可能不希望出现的行为-即,在调用只读方法的情况下,我只想要一个新事务读写方法。如果读写方法调用了另一个读写方法,则不需要新的事务。 考虑到所有这些,我不了解Open Session in View(OSIV)的工作原理!当然,在Spring中使用OSIV时,OpenSessionInView...

22
投票
3答案
28235 次观看

如何检查PostgreSQL事务中的挂起操作

我在PostgreSQL上有一个会话(SQLAlchemy),有一个活跃的未提交事务。我刚刚通过INSERT或直接通过基础连接将会话传递给了一些可能未发出SQL UPDATE/DELETE/sqlalchemy.orm语句的调用树。 是否可以检查此事务中是否有任何待处理的数据修改语句?即提交是否为空操作,回滚是否会丢弃某些内容? 我已经看到人们指出Oracle中的v$transaction是同一件事(请参见)。我正在寻找类似于PostgreSQL的东西。

10
投票
6答案
8182 次观看

Java Transaction API(JTA)概述帮助

有人可以给我一个很好的解释,说明JTA在现代Java应用程序中的动机和应用吗?我不想过多的技术细节。但是,只有一段关于我们为什么需要JTA,JTA是做什么的,也许还有一段伪代码显示了JTA的使用方式?

1
投票
1答案
111 次观看

将两个独立数据源的事务作为一个处理

我有两个数据源:一个旧数据源(Web服务)和一个数据库。现在,当我处理请求时,我对两者进行了更改。如果发生错误,我想同时回退。 try { legacy.Begin(); db.Begin(); legacy.MakeChanges(); db.MakeChanges(); } except (Exception) { legacy.Rollback(); db.Rollback(); } 问题是,如果旧版在回滚期间抛出(即网络错误)怎么办?db.Rollback()将不会执行。反之亦然。 我看到的解决方案是: legacy.Begin(); try { ...

2
投票
6答案
2364 次观看

Firebird 2.0事务SELECT性能

在Firebird 2.0中,在SELECT命令上使用显式事务比在隐式命令上执行显式事务更快吗?

6
投票
2答案
4908 次观看

更改事务中的全文索引列

我正在编写一个SQL数据更新程序,以将旧的text / ntext / image类型的列转换为varchar / nvarchar / varbinary。当系统启动以从较早版本更新数据库时,更新程序将在事务内运行。我已经使SQL能够独立工作,但是少数要更改的列已全文索引,这意味着我必须先删除索引才能更改它们的类型,如下所示: ALTER FULLTEXT INDEX ON Table DROP (Column) exec dbo.ConvertDataType 'Table', 'Column', 'nvarchar(max)' ALTER FULLTEXT INDEX ON T...

3
投票
1答案
7224 次观看

事务服务=> BeanNotOfRequiredTypeException,应为建议,但应为TransactionInterceptor

在遵循有关服务的主题中给出的重要建议之后豆我已经列出了以下服务。我尝试将@Transactional放在接口级别,接口方法级别,类级别和类方法级别。但是我做到了,我得到了 org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'org.springframework.transaction.interceptor.TransactionInterceptor#0' must be of type [org.aopalliance.aop.Advice], but was actuall...

0
投票
2答案
1227 次观看

无论如何,不同DAO中的Spring事务仍然无法正常工作吗?

这是我的实现摘要 1)所有使用HibernateDAO支持/ @Transational注释实现的DAO仅在服务层中使用 2)使用MySQL / HibernateTransactionManager 3)使用main(String args [])方法进行测试(交易是否可以使用此方法?) 事务不会回滚,并且在数据库中可以看到无效的输入。 我在这里做什么错了? 详细信息如下。 1)我在服务层中使用@Transactional注释将事务配置为: @Transactional(readOnly=false, rollbackFor={DuplicateEmailEx...