问题标签 [db2-luw]

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 投票
1 回答
4354 浏览

db2 - 在 db2 存储过程中打印日志

我有一个存储过程,并放置了一些调试消息,例如

在调用该过程时,我没有看到这一行。我在工作中使用 Aqua 数据工作室。我在调用 SP 时也做了以下操作

设置 serveroutput on@ 并设置 serveroutput on

但得到像这样的错误

您能否建议如何查看我在 SP 中以日志形式放置的语句?我正在使用“AquaData Studio - 7.0.39”

0 投票
2 回答
389 浏览

shell - 使用 strace 调试执行查询的 db2 CLI

我想用它strace来调试一个奇怪的行为db2。我有一个myFoo()实现的 SQL 函数C,由于某种原因没有被调用(某些代码访问路径不存在或未经授权,请参见此处)。My Sql Function 调用Foo共享库中的函数/usr/local/lib/libmyfoo(所以在 db2 term 中/usr/local/lib/libmyfoo!Foo)。

如果我strace直接使用 db2 和查询我有一个错误说

所以我用以下内容创建了一个脚本调用debug.sh。这个想法是让一个 db2 连接处于活动状态的 shell 并对其进行跟踪。

它不起作用,因为我意识到 strace 与二进制文件一起工作,所以我有错误

0 投票
3 回答
48563 浏览

sql - db2 更新表失败,SQLCODE:-668,SQLSTATE:57016,SQLERRMC:7;

我正在使用 db2 9.5 我在表中创建了一个已成功创建的列,但我无法更新表列并出现以下错误

[错误] 脚本行:1-1 -------------- DB2 SQL 错误:SQLCODE:-668,SQLSTATE:57016,SQLERRMC: 7;DB2ADMIN.XCATENTRYEXT 消息:由于表“DB2ADMIN.XCATENTRYEXT”上的原因代码“7”,不允许操作。

在谷歌上的一些博客/网站之后,我发现 REORG 命令作为解决方案,如以下链接 http://bytes.com/topic/db2/answers/508869-reorg-tablespace中所述

我已尝试在数据库上运行以下查询来解决问题。

但所有查询的结果都有相同的错误,例如

我被这个错误困住了,我什至无法更新该特定表的任何列。

0 投票
2 回答
1524 浏览

sql - 如何在 db2 中返回标量函数的值

我有一个返回整数的 db2 函数。根据我有限的知识,查看此函数工作的唯一方法是使用返回查询中的列,如下例所示。

有没有办法在给定参数的情况下显示函数的返回值而不构建更复杂的查询?

例子

我有一个功能

我在更复杂的查询中使用它,比如

如果我尝试获得以下内容

不起作用。

是否有任何 db2 函数可以无错误地打印出该函数的返回值?

0 投票
3 回答
126 浏览

jdbc - 安装了多个 DB2 客户端版本的 JDBC 2 类行为

我们基于 J2EE 的应用程序在 Websphere Applicaiton Server-AIX 服务器上运行,并安装了 2 个版本的 DB2 客户端(Db2v9.5、Db2v9.7)。

我有一个 db SAMPLE,它在两个具有相同别名 SAMPLE 的 DB2 客户端版本中远程编目。

如果我从 DB2v9.5 取消编目数据库,则应用程序将关闭。但是,如果我从 DB2v9.7 客户端删除它,则应用程序不会受到影响。

从上面的这个测试中,我们了解到一些默认情况下是如何使用 DB2v9.5 的。

我现在的目标是使 SAMPLE 仅指向 DB2v9.7,并且应用程序必须在没有 DB2v9.5 中的示例数据库的情况下工作。

关于如何做的任何建议?

使用的 JDBC 字符串是“jdbc:db2:sample”(注意:DB2 客户端没有端口)

我已经尝试将 $LIBPATH 和 $LD_LIBRARY_PATH 指向 DB2v9.7 本机 lib32 路径,并将 AIX 用户 ID 的 .profile 指向 DB2v9.7/sqllib/db2profile ,但没​​有运气。

问候,钱德鲁

0 投票
1 回答
3305 浏览

stored-procedures - DB2 存储过程中的字符串连接

我有一个 DB2 存储过程来获取 n 个序列值,然后将它们组合成一个逗号分隔的字符串并返回它。存储过程中的 concat 函数未按预期工作。

程序的一部分:设置 SEQVALUES = SEQVALUES|| ',' || 字符(SEQ_VAL);

没有按预期工作。如何在存储过程中连接字符串?

0 投票
2 回答
764 浏览

sql - 使用 db2move 和 db2look 迁移 DB2 物化查询表 (MQT) 的正确方法

我正在将数据库从 Windows x86_64 的 DB2 10.1 迁移到 Linux x86_64 的 DB2 10.1 - 这是具有不兼容备份文件格式的操作系统和机器类型的组合,这意味着我不能只进行备份和恢复。

相反,我使用db2move从 Windows 备份数据库并在 Linux 上恢复它。但是,db2move不会移动具体化查询表 (MQT)。相反,我需要使用db2look. 这带来了寻找通用方法来处理该过程的挑战。现在要转储物化查询的 DDL,我必须运行以下命令:

这将返回一个 MQT 列表,例如:

然后我可以获取所有这些值并将它们输入 adb2look以生成每个表的 DDL 并将输出发送到mqts.sql.

然后我将文件复制mqts.sql到之前已恢复所有非 MQT 的目标计算机,并运行以下命令来恢复 MQT:

这是迁移 MQT 的标准方法吗?必须有一种更简单的方法,我在这里错过了。

0 投票
2 回答
524 浏览

sql - 子查询在 db2 查询中返回多于 1 行

我正在使用插入查询,其中子查询提供超过 100 条记录,由于插入失败,有什么方法可以在表中插入所有这 100 条记录。查询是:

0 投票
2 回答
1659 浏览

sql - 在sql中计算/求和时间戳

我通过计算时间戳卡住了,我如何计算/求和不同的时间戳,示例如下

我想显示总和(时间戳)。有hh:mi什么帮助吗?

0 投票
1 回答
440 浏览

vb.net - 读取excel行并同时处理它

我有一个 Excel 工作表和它的巨大.. 大约需要处理 200000 行。我所要做的就是阅读它并使用对 DB2 表的查询来处理它们。我编写了一个程序,其中处理 5000 行超过 8 小时。

有没有一种方法可以同时读取 excel 并执行查询。我希望他们独立于流程。我不能使用 Parallel.for 因为读取和创建这么多线程实例没有优势。任何管道和队列都是没有用的。这是一个 dom 方法,它不读取一行,它读取一个字符串。如果行上有一个空值,它执行该行并抛出一个空异常。我与后台工作人员和 TPL 相处得很好。任何想法或代码将不胜感激。除 OPENXML 外,任何 DLL 都不能使用

理想情况下,我不想添加到数组中,我希望它在 2 个差异变量中并在读取时处理它们。

  1. 读取一行(只有 2 列,忽略其他列
  2. 创建一个线程来执行该行并并行执行读取的行。
  3. 合并到一个表中。
  4. 显示结果..听起来很简单,但也有挑战。

.

这是将数据划分为 2 个参数的过程