问题标签 [db2]

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.

0 投票
8 回答
8568 浏览

将 PHP 连接到 IBM i (AS/400)

我有一个即将进行的项目,我需要将我们的网站PHP5/Apache 1.3/OpenBSD 4.1(我已经做了一些检查,但遇到了一些障碍。

据我所知,IBM 的 DB2 扩展和 DB2 软件只能在 Linux 下运行。我尝试使用 IBM 的所有软件编译扩展,甚至尝试了他们的预编译 ibm_db2 扩展,但没有成功。IBM 只支持 Linux,所以我在内核中打开了 Linux 仿真,但这似乎没有任何帮助。

如果有人遇到过让所有东西都在 OpenBSD 下本地运行,那就太好了,但我想我可能需要做的是设置第二台运行 CentOS 并安装了 DB2 的服务器(很可能通过 ZendCore for IBM,因为它似乎可以做所有事情这对我来说)和驱动程序,以便我可以设置一个小型事务服务器,我可以针对该服务器发布并获取我需要的 DB2 数据的 JSON 表示。

第二种选择是否显得矫枉过正,还是其他人有更好的想法?

0 投票
2 回答
1766 浏览

DBUnit 的奇怪 DB2 问题

我在运行 DBUnit 测试时遇到了一个奇怪的 DB2 问题。我的 DBUnit 测试是高度定制的,但我认为这不是问题。当我运行测试时,我遇到了失败:

SQLCODE:-1084,SQLSTATE:57019

这转化为

SQL1084C 无法分配共享内存段。

这听起来像是一个奇怪的内存问题,尽管这是一个很奇怪的事情。如果我 ssh 到测试数据库服务器,然后进入 db2 并执行“连接到 MY_DB”,测试开始成功!这似乎与正在报告的假定内存错误无关。

我有 2 个测试,第一个实际上成功了,第二个是失败的。但是,当它获取到数据库服务器的连接以加载我的 xml 数据集时,它在 DBUnit 设置代码中失败。

任何想法可能会发生什么?

0 投票
3 回答
2139 浏览

如何在 64 位 SQL Server 2005 上设置 DB2 链接服务器?

我需要在大型机上创建一个连接到 DB2 数据库的链接服务器。有没有人在 64 位版本的 SQL Server 2005 上成功完成此操作?如果是这样,使用了哪些提供程序和设置?

无论我们是使用 Windows 身份验证帐户登录 SQL Server 还是使用 SQL Server 登录,链接服务器都能正常工作,这一点很重要。OPENQUERY由 4 部分组成的名称和查询方法都可以正常工作也很重要。我们在一台运行良好的 SQL Server 2000 机器上设置了一个,但它使用的提供程序不适用于 64 位 SS 2005。

0 投票
6 回答
10155 浏览

数据库不区分大小写索引?

我有一个查询,我正在搜索一个字符串:

现在,这工作正常,但它不能很好地扩展,我需要优化它。我找到了一个类似于创建生成视图的选项,或者类似的东西,但我希望使用索引有一个更简单的解决方案。

我们正在使用 DB2,我真的想在 index 中使用表达式,但是这个选项似乎只在 z/OS 上可用,但是我们正在运行 Linux。我还是尝试了表达式索引:

但当然,它会在 UPPER(name) 上窒息。

有没有另一种方法可以以这种方式创建索引或类似的东西,这样我就不必重组现有查询以使用新生成的视图,或更改现有列或任何其他此类侵入性更改?

编辑:我愿意听取其他数据库的解决方案......它可能会延续到 DB2......

0 投票
3 回答
2042 浏览

BizTalk DB2 适配器连接错误

我的同事正试图通过 DB2/MVS 适配器将 BizTalk 2006 R2 连接到托管在 z/OS 大型机上的数据库。在测试连接设置时,他们收到以下错误

将设置放入常规连接字符串并使用 .NET 代码打开时,这很好。我是 BizTalk 和 DB2 的新手。有人可以建议出现此错误时要注意什么吗?

2008 年 8 月 24 日:

好吧,如果使用带有常规 DB2 连接字符串的普通 .NET 代码,则可以建立连接并提交查询。这个 DB2 适配器报告的是它甚至无法进行正确的连接握手,更不用说提交查询了。我不确定建立 DB2 连接所涉及的实际机制是什么。

2008 年 8 月 25 日:

根据这个 MSDN 论坛帖子,这似乎是一个登录问题。

我已经看到了,但这里不是这样。如果我们将用户名作为包集合,它仍然会遇到同样的问题。

2008 年 8 月 26 日:

由于缺乏有关从 Microsoft 产品连接到大型机 DB2 数据库的信息,我承担了检查原始网络数据包的任务,以了解 .NET DB2 提供程序的连接(有效)和 BizTalk 2006 DB2 适配器之间发生了什么(哪个炸弹)。我观察到 DB2 流量是使用 DRDA 协议完成的。并最终得出结论 BizTalk 适配器方法失败是因为服务器的回复 SECHKRM 数据包中记录的内容

为什么在 .NET 提供程序中成功时相同的凭据在此处失败,这超出了我的理解。现在,我可以观察到,在传输数据包的顺序方面,每种方法之间存在显着差异。

.NET DB2 提供程序

BizTalk DB2 适配器

目睹 .NET 提供程序在单个 TCP 段中发出各种 DRDA 协议数据包是很有趣的。另一方面,BizTalk 适配器在每个 TCP 段中只放置一个协议数据包。我不知道为什么会这样。但是,我目前认为这是一个红鲱鱼,导致身份验证失败的真正区别在于 DRDA 数据交换。我不知道 DRDA 协议,所以必须先研究它,然后才能更清楚地理解它。

2008 年 9 月 18 日:

现阶段问题还没有解决,DB2 DBA 团队的合作和微软的帮助遇到了很多障碍。

我想报告的是,我观察到所有成功连接案例与失败尝试之间的一个关键区别:

BizTalk DB2 适配器在底层使用Microsoft ODBC Driver for DB2。其他成功的软件测试使用IBM DB2 ODBC DRIVERIBM DB2 ODBC DRIVER – IBMCL1。IBM驱动的参数配置与微软的驱动不同。但我们没有看到任何可能导致 Microsoft 驱动程序身份验证失败的明显关键差异。

0 投票
3 回答
7664 浏览

异步存储过程调用

是否可以从另一个存储过程异步调用存储过程?

编辑:具体来说,我正在使用 DB2 数据库。

0 投票
10 回答
22773 浏览

SQL1159 DB2 .NET 数据提供程序初始化错误,原因代码 7,令牌 9.5.0.DEF.2,SOFTWARE\IBM\DB2\InstalledCopies

我正在尝试从 32 位 .Net 应用程序中获取 DB2 数据提供程序,以连接到在 Vista 64 上作为 32 位应用程序运行的 DB2(这是否足够令人困惑)?不幸的是,我收到以下错误:

SQL1159 DB2 .NET 数据提供程序初始化错误,原因代码 7,令牌 9.5.0.DEF.2,SOFTWARE\IBM\DB2\InstalledCopies

有几个IBM 论坛帖子提到了它,但没有什么有用的指导。有谁之前经历过这个吗?或者你有更好的修复方法吗?

0 投票
6 回答
27528 浏览

IBM DB2 Type 4 驱动程序?

在哪里可以找到 IBM DB2 Type 4 驱动程序的可再发行版本?我想这是我用来从 Java 应用程序(在 Windows 上)连接到大型机上的 DB2 的驱动程序?

0 投票
7 回答
2634 浏览

无法从数据库中删除...?

所以,我有 2 个数据库实例,一个用于一般开发,另一个从开发中复制用于单元测试。

开发数据库中发生了一些我无法弄清楚的变化,我不知道如何查看有什么不同。

当我尝试从特定表中删除时,例如:

我从单元测试数据库中得到以下正常响应,表明没有删除任何行:

SQL0100W 未找到 FETCH、UPDATE 或 DELETE 行;或者查询的结果是一个空表。SQLSTATE=02000

但是,开发数据库根本无法删除,并出现以下错误:

DB21034E 该命令被作为 SQL 语句处理,因为它不是有效的命令行处理器命令。在 SQL 处理期间,它返回: SQL0440N 未找到具有兼容参数的名为“=”、类型为“FUNCTION”的授权例程。SQLSTATE=42884

我最好的猜测是添加或更改了一些触发器或视图导致问题,但我不知道如何去寻找问题......有没有人遇到这个问题或知道如何找出根源的问题是?

(注意这是一个 DB2 数据库)

0 投票
2 回答
1780 浏览

如何查找所有数据库引用

在试图找出这个问题(仍然没有解决,我仍然不知道发生了什么)时,我想知道是否可能是对相关表的外部引用导致了问题。例如,触发器或视图或其他类似的东西。

有没有一种简单的方法可以找到对给定数据库表的所有引用?包括所有视图、触发器、约束或任何东西,最好来自命令行,也最好不使用 3rd 方工具(我们使用的是 db2)。