问题标签 [distributed-transactions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jdbc - 在语句级别覆盖事务超时
我的 ibatis 配置使用 XA 数据源和 JTA 事务管理器。是否可以在语句级别覆盖事务超时。
我尝试了这里建议的选项:指定 IBatis 查询超时。这没用。
我的应用程序中的一个特定 SQL 是一个长时间运行的查询,它在超时后超时。在 weblogic JTA 配置中设置的秒数。
请指教。
c# - C# for Mysql 中的分布式事务
我有一个 C# 应用程序。我想运行一个在不同位置插入和更新多个数据库的事务。我注意到是通过 mysql 提供的 .net 连接器来支持的。有什么解决办法吗?我目前正在做的是打开 2 个事务,然后我提交一个,然后我提交另一个,这是有风险的,因为有时某些东西无法更新。
java - 事务处理多层应用程序
是否有可能跨多个系统进行交易?
例如:
第 1 层 - 公开 Web 服务(部署到 weblogic) 第 2 层 - .NET 前端(部署到 IIS)
我们可以对从 .NET 发起的多个 Web 服务调用进行事务提交或回滚吗?
如果是这样,有人可以指出我的任何资源或文件吗?每一层合规性参与交易有什么特殊要求吗?
mysql - MySQL 和 MSSQL 之间的分布式事务
我已经尝试了将近一周的时间来让分布式事务正常工作。我在 MSSQL 上有一些程序试图从 MySQL 中选择数据。我需要在一个(!)交易中做到这一点。当时我已经使用 OpenLink 的单层 MySQL 驱动程序在 MSSQL 上设置了 ODBC 连接,这表明 XA 事务可以成功运行(配置 ODBC 连接后集成了一个测试按钮)。然后我通过 MSDASQL 在 MSSQL 中设置了一个链接服务器到这个 ODBC 连接,但是在做的时候
我收到错误消息,在实际交易中无法启动进一步的交易。( Der OLE DB-Anbieter "MSDASQL" für den Verbindungsserver "optinxa" hat die Meldung "Es können keine weiteren Transaktionen in dieser Sitzung gestartet werden." zurückgeben.
)
另一个测试:
结果Der OLE DB-Anbieter "MSDASQL" für den Verbindungsserver "optinxa" hat die Meldung "[OpenLink][ODBC][Driver]Driver does not support this function" zurückgeben.
但是为什么在配置时声明 ODBC 驱动程序,XA 事务确实有效?
java - 当原因未知时如何调试问题
我们在 weblogic server v10.3.2.0 中面临以下异常。我们正在使用 JRockit JRE 6.0。
每个服务器请求都涉及大约 6-7 个 XA 数据源。当对最后一个数据源的处理刚刚开始时,我们会遇到这个异常。
请有人指教。
database - 两阶段提交
我相信大多数人都知道什么是 2PC(两阶段提交协议)以及如何在 Java 或大多数现代语言中使用它。基本上,当您有 2 个或更多数据库时,它用于确保事务同步。
假设我有两个 DB(A 和 B)在两个不同的位置使用 2PC。在 A 和 B 准备好提交事务之前,两个 DB 都会向事务管理器报告它们已准备好提交。因此,当事务管理器被确认时,它会向 A 和 B 发送一个信号,告诉他们继续。
这是我的问题:假设 A 收到信号并提交了事务。一切搞定后,B也准备照做,但有人拔掉了电源线,导致整个服务器关机。当 B 重新上线时,B 会做什么?B是怎么做到的?
请记住,A 已提交但 B 未提交,并且我们正在使用 2PC(所以,2PC 的设计停止工作,不是吗?)
java - jdbc中的锁、处理和释放锁
这就是我的要求 - 锁定数据库记录,处理它并释放它
环境 - weblogic 10.3 数据库 - Oracle 11g 数据源 - 涉及多个 XA 资源 Tx mgr - JTA
以下是我迄今为止所做的实验结果:
实验 1 - 依赖未提交的读取
- 读取数据库记录
- 作为全局 JTA 事务的一部分,在另一个表中通过 id 锁定记录
- 处理记录 尝试锁定同一记录的第二个事务将失败,将删除该记录。但是为了使这个工作,RDBMS 应该允许脏读。不幸的是,Oracle 不支持读取未提交的隔离级别。
实验 2 - 本地事务中的锁定记录
- 读取数据库记录
- 在另一个表中通过 id 锁定记录,作为单独的本地事务
- 当事务成功提交时处理记录并删除记录 尝试锁定同一记录的第二个事务将失败,将删除记录。这种方法基于提交的数据,应该可以正常工作。问题来了 - 由于锁事务和全局父事务不同,如果处理失败回滚主事务,我应该通过回滚锁事务来补偿,我不知道该怎么做 -需要帮助在这里
如果我无法回滚记录锁定事务,则必须围绕记录锁定代码编写一些脏逻辑。我不喜欢这个。
这似乎是一个非常普遍的要求。我想知道你们如何优雅地处理这个问题。Oracle 是否支持以任何方式使未提交的更新对所有事务可见。
提前非常感谢。
sql-server - 分布式事务的性能开销
(在使用 Atomikos 测试分布式事务的实现时,我注意到开销很大(不使用 XA 需要 30 毫秒的事务使用 XA 需要 160 毫秒)
看起来大部分时间都花在“准备”和“提交”上。
对于测试,我使用了涉及单个数据源(Microsoft SQL Server)的事务的(不切实际的)场景,没有实际更新。在这种情况下,我希望开销最小。
所以我的问题是:
- 这是“正常”开销吗?
- 如果没有,我接下来应该去哪里看?(我最好的猜测是使用 SQL Server Profiler 来查看时间是否花费在数据库中)
sql-server - 无法开始分布式事务
我正在尝试对链接服务器运行 SQL,但出现以下错误:
提供程序返回两个错误:
错误 #1:
错误 #2
如何让 Microsoft 偏爱功能而不是安全?
或者,至少,我怎样才能让两个 SQL 服务器相互通信?
相关问题
- 无法执行操作,因为 OLE DB 提供程序“SQLNCLI10”...(*链接服务器名称为
(null)
) - 分布式事务错误?(使用 Oracle 提供程序)
- 无法使用 NHibernate 加入分布式事务(使用 Hibernate)
- 在 SQL Server 2008 R2 中使用分布式事务时出错(SQL Server 2008 R2,没有答案)
- 仅通过代码的分布式事务错误(由连接池引起)
- 在链接服务器中执行分布式事务协调器时出错(SQL Server 2008,没有答案)
- 分布式事务错误?(没有接受的答案;只有答案没有帮助)
- 如何使用链接服务器内部事务插入远程表?(接受的答案无法解决)
我所做的无关紧要,但无论如何我都会发布它。
诅咒和发誓。
砸东西。
检查是否
SELECT
可以使用链接服务器:检查远程服务器是否可以按名称与启动服务器通信:
检查是否
@@SERVERNAME
与两台服务器上的服务器名称匹配:和
尖叫
-
在两台服务器上。
wcf - wcf 自动完成到底什么时候执行?
我想知道我是否有一个具有 TransactionScopeRequired 但我不使用事务绑定的 WCF 服务...
是否可以先返回消息,然后事务可以回滚?
在其他工作中......哪个先执行?返回消息还是提交?
提前致谢。