草庐IT

AUTONOMOUS_TRANSACTION

全部标签

python /SQLite3 : cannot commit - no transaction is active

我正在尝试编码bookindexer使用Python(传统的,2.7)和SQLite(3)。代码归结为以下SQL语句序列:'selectcount(*)fromtag_dict'()/*[(30,)]*/'selectcount(*)fromfile_meta'()/*[(63613,)]*/'begintransaction'()'selectidfromarchivewherename=?'('158326-158457.zip',)/*[(20,)]*/'selectidfromfilewherename=?andarchive=?'('158328.fb2',20)/*[(12

Redis Cluster - transaction vs LUA 脚本,哪一个会产生更好的性能?

如果我可以在Redis集群中使用事务和LUA脚本(不是缓存脚本)获得相同的结果,哪个具有更好的性能?每次执行LUA脚本都必须编译,对吧?那么对性能有影响吗?我找不到任何方法在Redis集群的服务器上缓存脚本,并且只为该脚本接收一个sha1并根据交易文件:"wemaydeprecateandfinallyremovetransactions"Transaction会被LUA脚本取代有什么原因抱歉,如果我有任何错误! 最佳答案 StackExchange.Redis在幕后自动使用准备好的脚本(SCRIPTLOAD、EVALSHA等),因

java - vertx-redis-客户端 3.7.0 : How to use redis transaction

我在我的一个项目中使用Vertx3.7.0。我必须使用redis事务。我在API中找到了一个方法:Redis.batch()希望批处理将在单个事务中执行,但文档非常非常差。谁能告诉我如何在vertx-redis-client中使用redis事务?我可以使用RedisAPI.multi()吗?交易?我真的很感激一个例子。 最佳答案 Redis事务遵循redis协议(protocol),这意味着您使用multi开始事务,然后是您的命令并以exec结束。如果你只有一个代码流访问redis客户端,这就足够了。但是,如果多个源访问客户端,则其

c# - 使用 TransactionScope 时出现异常 "The operation is not valid for the state of the transaction"

我们在服务器#1上有一个Web服务,在服务器#2上有一个数据库。Web服务使用事务作用域来产生分布式事务。一切都是正确的。我们在服务器#3上还有另一个数据库。我们在这台服务器上遇到了一些问题,我们重新安装了操作系统和软件。我们配置了MSDTC并尝试使用来自服务器#1的Web服务与该服务器上的数据库进行通信。现在,在事务范围内的第一个select语句之后,我们得到:Theoperationisnotvalidforthestateofthetransaction。如果使用事务范围,则此异常会出现在每个Web服务请求中。服务器#2和服务器#3几乎相似。区别只能在于设置。所有服务器上都安装了

Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: url not s

org.springframework.transaction.CannotCreateTransactionException:CouldnotopenJDBCConnectionfortransaction;nestedexceptionisjava.sql.SQLException:urlnotset该问题是出现在使用spring将数据源配置文件引入到配置类里面的时候spring将数据源配置文件引入到配置类的两种方式方式一方式一:创建一个数据源配置类,引入spring的配置类(不会出现数据无法注入的问题)方式二方式二:在spring的配置类里面,直接引入外部的数据源配置文件,如果在成员变

mysql - 如何避免MySQL 'Deadlock found when trying to get lock; try restarting transaction'

我有一个记录在线用户的innoDB表。它会在用户每次刷新页面时更新,以跟踪他们所在的页面以及他们上次访问该站点的日期。然后我有一个每15分钟运行一次的cron来删除旧记录。我在尝试获取锁时发现了“死锁”;昨晚尝试重新启动事务约5分钟,似乎是在向该表运行INSERT时。有人可以建议如何避免此错误吗?===编辑===以下是正在运行的查询:首次访问网站:INSERTINTOonlineusersSETip=123.456.789.123,datetime=now(),userid=321,page='/thispage',area='thisarea',type=3在每个页面刷新:UPDAT

go - 数据存储 : Create parent and child entity in an entity group transaction?

阅读Google数据存储概念/理论后,我开始使用Godatastorepackage场景:User和LinkedAccount类型要求每个用户都有一个或多个链接帐户(是的第3方登录)。为了高度一致,LinkedAccounts将是关联用户的子级。然后创建新用户涉及创建一个用户和一个LinkedAccount,而不仅仅是一个。用户创建似乎是交易的完美用例。如果说LinkedAccount创建失败,则事务回滚失败。这目前看来是不可能的。目标是在事务中创建一个父项,然后再创建一个子项。根据文档AllDatastoreoperationsinatransactionmustoperateone

node.js - 升级到 Nodejs 8 和 "error: failed to commit transaction"

我正在尝试在我的archlinux中将我的nodejs6升级到8。所以我做了:$sudopacman-Snodejsnpm结果:resolvingdependencies...lookingforconflictingpackages...Packages(3)openssl-1.0-1.0.2.l-1nodejs-8.1.3-1npm-4.6.1-1TotalInstalledSize:39.22MiBNetUpgradeSize:6.79MiB::Proceedwithinstallation?[Y/n]y(3/3)checkingkeysinkeyring[###########

java - 使用 Transaction with JDBI/IDBI/Dropwizard -- 回滚问题

我在使用IDBI处理事务时遇到了很多麻烦。我们正在使用dropwizard框架,并且简单的插入、更新、选择和删除都可以找到,但现在我们似乎无法让事务正常工作。这是我正在尝试的方法publicclassJDb{privateJustinTest2jTest2=null;privateHandledbHandle=null;publicJDb(finalIDBIidbi){try{dbHandle=idbi.open();dbHandle.getConnection().setAutoCommit(false);jTest2=dbHandle.attach(JustinTest2.clas

mysql - 解决 MySQL 错误 "Deadlock found when trying to get lock; try restarting transaction"

我有一个MySQL表,其中包含大约5,000,000行,这些行通过DBI连接的并行Perl进程以小的方式不断更新。该表大约有10列和几个索引。一个相当常见的操作有时会导致以下错误:DBD::mysql::stexecutefailed:Deadlockfoundwhentryingtogetlock;tryrestartingtransactionatDb.pmline276.触发错误的SQL语句是这样的:UPDATEfile_tableSETa_lock='process-1234'WHEREparam1='X'ANDparam2='Y'ANDparam3='Z'LIMIT47该错误