TransactionScope 无法与 DB2 提供程序一起使用

2024-04-19

我一直在尝试使用交易范围 with a DB2数据库(使用DB2 .Net提供商 v 9.0.0.2 和 c# 2.0),根据 IBM 的说法,应该支持它们。

我已经尝试了在 IBM 论坛上可以找到的所有建议(例如here http://www.ibm.com/developerworks/forums/thread.jspa?threadID=106298)无济于事。

我在我的 XP Sp2 机器上启用了 XA 事务,也从 Win 2003 Server 机器上尝试过,但我始终遇到臭名昭著的错误:

ERROR [58005] [IBM][DB2/NT] SQL0998N  Error occurred during

事务或启发式处理。 原因代码=“16”。子代码 = “2-80004005”。 SQL状态=58005

Windows 事件日志显示:

The XA Transaction Manager attempted to load the XA resource

管理器 DLL。对 LOADLIBRARY 的调用 用于 XA 资源管理器 DLL 失败的: DLL=C:\APPS\IBM\DB2v95fp2\SQLLIB\BIN\DB2APP.DLL 文件=d:\comxp_sp2\com\com1x\dtc\dtc\xatm\src\xarmconn.cpp 行=2467。

此外,授予 NETWORK SERVICE 用户对该文件夹和 dll 的完全权限。

这是 MSDTC 启动消息

MS DTC 开始于以下内容 设置:

安全配置(关闭 = 0 且 开 = 1): 交易网络管理 = 0, 网络客户端 = 0, 使用本机 MSDTC 协议的入站分布式事务 = 0, 使用本机 MSDTC 的出站分布式事务 协议 = 0, 交易互联网协议(TIP)= 0, XA 交易 = 1

任何帮助将非常感激!

谢谢, 弗罗林


我设法让老旧的 IBM DB2 v7 ODBC 驱动程序在 TransactionScope 中工作。它要求:

  • 在 MSDTC 属性中启用 XA 事务
  • 在注册表项 HKLM\SOFTWARE\Microsoft\MSDTC\XADLL 下输入的值,名称为“DB2CLI.DLL”,值为“C:\PROGRA~1\IBM\SQLLIB\BIN\DB2CLI.DLL”(8.3 格式的 dll 路径) - v9 使用 DB2APP.DLL)
  • A reboot
  • 在处置 TransactionScope 之前不关闭连接。回想起来,这似乎是显而易见的。 :)

我不确定这是否与您的特定场景相关。这IBM 文档 http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.messages.sql.doc/doc/msql00998n.html将原因代码 16、子代码 2 显示为“MSDTC 无法注册 DB2 连接”。 MSDTC 查找 DB2 dll 时似乎存在一些问题 - 也许检查上面引用的注册表项?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TransactionScope 无法与 DB2 提供程序一起使用 的相关文章

  • DB2 java存储过程调用返回错误SQLCODE=-440,SQLSTATE=42884

    我正在对 DB2 进行简单的存储过程调用 当它调用存储过程时 它总是返回以下错误 DB2 SQL Error SQLCODE 440 SQLSTATE 42884 SQLERRMC MEDIAN RESULT SET PROCEDURE D
  • 驱动程序如何成为操作系统的一部分?

    我知道操作系统内核是由驱动程序组成的 但是驱动程序是如何成为操作系统的一部分的 是内核自己反编译 然后添加驱动程序并重新编译自己吗 或者驱动程序是内核的插件 有人告诉我 对于大多数操作系统 驱动程序实际上成为内核的一部分 但是每当我编译c程
  • 加载.csv文件时如何将当前系统时间戳插入db2数据库基列

    下面的类将把 csv 导入到数据库表中 它工作正常 现在我需要更新同一个表中的另一列 其中当前系统时间戳需要获取 当该程序在数据库表的相应列中执行时得到更新 示例 在 Db2 表中 主题列为 英语社会数学时间戳 在 CSV 文件中只有 3
  • 如何编写将行号输出为列的查询?

    如何编写将行号输出为列的查询 这是 iSeries 上的 DB2 SQL 例如 如果我有 表披头士乐队 John Paul George Ringo 我想写一个声明 如果可能的话 不写过程或视图 这给了我 1 John 2 Paul 3 G
  • 如何在 H2 中创建过程

    这似乎与具有相同标题的其他问题重复 但实际上并非如此 我们的业务逻辑主要作为 DB2 存储过程来实现 我看到 H2 有一个 DB2 兼容模式 很好 我们如何使用 H2 通过这些程序进行内存单元测试 不幸的是 H2 似乎缺少 CREATE P
  • .NET File.Exists 在 Windows\System32\Drivers 文件夹中不起作用?

    该过程已提升 并且我确保 VS 调试器中的路径是正确的 我使用 Environment GetFolderPath Environment SpecialFolder System 而不是对其进行硬编码 但 File Exists 仍然返回
  • OutputStream 到 DB2 数据库表的 BLOB 列

    在 DB2 数据库中 我有下表 CREATE TABLE MyTestTable MYPATH VARCHAR 512 NOT NULL MYDATA BLOB CONSTRAINT MYTESTTABLE PK PRIMARY KEY M
  • TransactionScope 超时过早发生?

    我在用着TransactionScope进行一些批量插入和更新 问题是 即使我设置了超时 我也会在 30 分钟长的操作中遇到超时异常TransactionScope到一小时 此外 在异常之后 它会插入看似随机数量的批次记录 例如 最后一个操
  • 更新表并返回旧值和新值

    我正在编写一个 VB 应用程序 用于清理 DB2 数据库中的一些数据 在一些表中我想更新整个列 例如帐号列 我正在将所有帐号更改为从 1 开始 并在列表中向下递增 我希望能够返回旧帐号和新帐号 这样我就可以生成某种可以引用的报告 这样我就不
  • 如何使用 Java 创建多个模式连接?

    我必须使用两个数据库 DB2 Oracle 我在 DB2 数据库中有一个名为NAVID 我想使用 Java 为 Oracle 中的所有表创建相同的架构 public class automateExport static String va
  • NHibernate 具有多个数据库和事务

    我们在理解如何最好地使用 NHibernate 时遇到了一些问题 我们通常拥有相对大量 就表数量而言 的 SQL Server 数据库 而不是一个包含大量对象的数据库 我们正在研究处理多个会话工厂的各种选项 并且可能已经控制住了这一点 但是
  • 在 (Liberty) 批处理块步骤中,从该步骤之前发出的数据库查询滚动浏览 ResultSet 时,获取“ResultSet 已关闭”

    我正在从 DB2 表读取数据并将其转储到文件中 我在块侦听器的 beforeChunk 中执行简单的选择查询 并使用步骤上下文将其获取到 itemreader 中 在块中 我将检查点策略设置为 item 将 itemcount 设置为 5
  • 如何避免连接两个表时重复

    Student Table SID Name 1 A 2 B 3 C Marks Table id mark subject 1 50 physics 2 40 biology 1 50 chemistry 3 30 mathematics
  • DB2 - 如何在 IBM System i Access for Windows GUI Tool 中使用参数运行即席选择查询

    我想使用我声明的变量在 IBM System I Navigator tool for DB2 中运行一些临时选择语句 例如 在 SQL Server 世界中 我可以在 SQL Server Management Studio 查询窗口中轻
  • SQL Server 'FETCH FIRST 1 ROWS ONLY' 无效使用

    我正在尝试将 Db2 查询转换为 SQL Server 我遇到了一个我不熟悉的构造 仅 FETCH FIRST 1 ROWS 这是在 db2 上运行的查询 select from products series where state xx
  • 从 python 数据帧插入 DB2 表

    我正在使用 python 库 IBM DB 通过它我可以建立连接并将表读入数据帧 当从 python 中的数据帧源写入 DB2 表 INSERT 查询 时 就会出现问题 下面是连接的示例代码 但有人可以帮助我如何将数据帧中的所有记录插入到
  • 在 Spring Data JPA 的本机 SQL 查询中使用命名参数

    给出了针对 DB2 数据库运行的以下查询 但它在我的 Spring Boot 应用程序中返回以下错误 我研究过 COL 1 1001应该是某种命名参数或主机变量 DB2 但一直无法找到我正在尝试做的类似示例 我只用过 1使用设置参数 Que
  • 在没有 TransactionScopeAsyncFlowOption.Enabled 的情况下启用异步 TransactionScope

    以下是使用事务范围的异步缓存和数据库更新 我无法使用TransactionScopeAsyncFlowOption Enabled在 v 4 5 1 中引入 因为我使用的 Apache Ignite Net 缓存不支持它 我尝试通过捕获当前
  • TransactionScope 在某些机器上自动升级到 MSDTC?

    在我们的项目中 我们使用 TransactionScope 来确保我们的数据访问层在事务中执行其操作 我们的目标是not要求在我们的最终用户的计算机上启用 MSDTC 服务 问题是 在我们一半的开发人员机器上 我们可以在禁用 MSDTC 的
  • 该操作对于事务状态无效

    我有一个TransactionScope 堵塞 它总是卡在插入语句中 它在活动监视器中显示为阻塞任务 因此它阻塞 SQL 服务器 并且在超时后 我收到此错误 该操作对于事务的状态无效 出了什么问题 const TransactionScop

随机推荐

  • 在什么情况下我需要为 IEnumerable 和 IQueryable 创建两种不同的扩展方法?

    假设我需要一个扩展方法 它仅从不同来源选择所需的属性 源可以是数据库或内存中的集合 所以我定义了这样的扩展方法 public IQueryable
  • 启用 addEventListener 回调来执行 put 操作

    我需要做一个全球性的addEventListener喜欢的东西 我正在使用 React Native 需要监听深层链接重定向事件 我无法弄清楚 redux saga 的方式来做到这一点 我需要启用一个put来自 addEventListen
  • btree 实现中的分段错误

    任何人都可以帮助消除这个分段错误 我已经在这个代码上工作了一个星期仍然无法调试它 这段代码是Btree的实现 插入部分工作正常 但删除部分出现分段错误 我无法调试它 有人可以帮忙吗 我已经根据此链接给出了输入 已将字母值转换为 ASCII
  • 使用 django-piston 时出现 400 Bad Request 错误

    我正在尝试使用 Piston 为 Django 提供 REST 支持 我已经按照提供的文档实现了我的处理程序 问题是我可以 读取 和 删除 我的资源 但无法 创建 或 更新 每次我点击相关 api 时 都会收到 400 Bad reques
  • 返回 NULL 的 Trello.NET 对象

    迪伦梅斯特 我尝试了 Trello NET 包装器 但在成功接受 AppKey 和 Token 后它总是返回 NULL 我确信 AppKey 和 Token 是正确的 因为当我故意输入错误的 AppKey Token 时 就会出现错误 我安
  • 如何在boto3中为AWS EC2实例设置标签

    我是新来的Boto3 并且想要创建 VPC 子网和一些 ec2 实例 基本架构是拥有一个 VPC 2 个不同可用区 us east 1a 和 b 内的 2 个子网 并应用一个允许SSH and ping 我的问题是如何指定其他选项对于每个资
  • Django - 用户 is_active

    这是我的用户身份验证方法 def user login request if request method POST username request POST get username password request POST get
  • C# 对由线程池处理的相关任务进行排队

    我想将需要按顺序处理的多个流中的相关任务 在每个流中 排队 这些流可以并行处理 具体来说 假设我需要两个队列 并且我希望每个队列中的任务按顺序处理 以下是示例伪代码 用于说明所需的行为 Queue1 WorkItem wi1a enqueu
  • 如何按整数值对哈希图进行排序[重复]

    这个问题在这里已经有答案了 HashMap
  • 为什么单个 Ajax 调用工作正常,但连续的 Ajax 调用失败?

    Setup 我有一个数据表 其每一行都是可单击的 单击一行时 将进行 ajax 调用并返回一些数据 有时 ajax 调用需要一点时间 具体取决于返回的数据量 一切正常 Problem 当逐行快速单击时 就会出现问题 简而言之 在上一个 aj
  • JAXB XML 适配器通过注释工作,但不通过 setAdapter

    我完全了解如何使用XML适配器 http download oracle com javase 6 docs api javax xml bind annotation adapters XmlAdapter html to 转换不可映射的
  • 使用 @Assisted 注入与多个相同类型的参数(@Named params)

    我的问题归结为使用 Assisted 和工厂的两个字符串参数 问题是 因为 Guice 将类型视为参数的识别机制 所以两个参数是相同的 并且我收到配置错误 一些代码 public class FilePathSolicitingDialog
  • 将 UIView 保持在 Circle Objective-C 内

    我怎样才能拥有我的颜色选择器 UIView 留在 300px 300px 的色轮内 我正在使用UIPanGestureRecognizer将颜色选择器拖动到色轮周围UIImageView 色轮的直径为300px 这是我的图像UIViewCo
  • 使用 SqlBulkCopy 插入 sql_variant 列时如何设置列类型

    我正在使用 SqlBulkCopy 从 net DataTable 对象插入 更新到包含 sql variant 列的 SQL Server 表 然而 当我需要的是 datetime2 时 SqlBulkCopy 坚持将放入该列的 Date
  • Devise 和 I18n - 重置密码路由问题

    我将 I18n 添加到使用 Devise 的 RoR 应用程序中 如果我尝试重置密码 现在会收到错误消息 错误是 Routing Error No route matches action gt edit controller gt dev
  • 如何从子活动中完成父活动

    我是 Android 开发新手 我创建了一个主 Activity gt A 它有 4 个按钮 4 个按钮之一是 EXIT 按钮 单击退出按钮后 我开始另一个活动 gt B 这将通过 A 活动的意图打开 B 活动 活动 B 包含 您想退出吗
  • 删除扰乱格式的特殊字符

    我目前正在创建一个聊天 似乎无法找到一种方法来阻止用户发布特殊字符 这些字符会扰乱聊天的格式并使最终用户退出聊天 我基本上是想完全删除它们 我知道我现在拥有的代码 从技术上讲 如果它有效 应该只能替换它们 但是我只是想让它首先工作 这是我用
  • 在ESC/POS命令中选择字符代码表

    我需要在打印收据上打印非英文字符 使用热敏 POS 收据打印机 Xprinter XP 58III 热敏 POS 收据打印机支持通用 ESC POS 命令 据我所知 这应该通过设置字符代码表来完成 就我而言 目标代码页是 21 用于设置代码
  • 从 Go 连接到 MySQL 的推荐方式是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可靠的解决方案来从 Go 连接到 MySQL 数据库 我见过一些库 但很难确定完整性和当前
  • TransactionScope 无法与 DB2 提供程序一起使用

    我一直在尝试使用交易范围 with a DB2数据库 使用DB2 Net提供商 v 9 0 0 2 和 c 2 0 根据 IBM 的说法 应该支持它们 我已经尝试了在 IBM 论坛上可以找到的所有建议 例如here http www ibm