问题标签 [iseries-navigator]

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 投票
3 回答
18669 浏览

sql - 如何在第一行的 DB2 iseries 中左连接?

我需要一个查询来加入一个基于其他表值的第一行的表:

但是 DB2 返回 ERROR 因为不能使用A.CODE

如何解决这个问题?

0 投票
1 回答
2105 浏览

sql - 当外键引用父表时,为什么父表没有匹配的主键或唯一键?

所以我遇到了这个问题,我的表的外键没有正确引用前一个表。我正在为 IBM i 使用 DB2 进行编码(使用使用 COLLECTIONS 而不是 SCHEMA 的旧语言——它是我大学课程的一部分)

确切的错误信息是:

SQL 状态:42890 供应商代码:-573 消息:[SQL0573] UMALIK5 中的表 EMPLOYEE 没有匹配的父键。原因 。. . . . : 在 UMALIK5 中的约束 CAMPUS_FK 的 FOREIGN KEY 子句中指定了引用列列表。UMALIK5 中的父表 EMPLOYEE 没有匹配的 PRIMARY 或 UNIQUE 键。如果文件是分区的,则父文件的访问路径必须是非分区的。无法添加约束。恢复 。. . :执行以下操作之一并再次尝试请求: -- 在 FOREIGN KEY 子句中指定一个表,该表具有与引用列列表匹配的 PRIMARY 或 UNIQUE 键。-- 更改引用列列表以匹配父表上定义的 PRIMARY 或 UNIQUE 键的定义。-- 如果父文件有分区,则添加非分区访问路径。

我在 IBM 的支持页面上查找的错误比这更令人困惑。

这是我的代码:

我不知道我需要做什么,当我运行我的 DB2 脚本时,Employee 表创建得很好,但由于某种原因 CAMPUS 表没有。

我究竟做错了什么?

感谢您的帮助。

0 投票
4 回答
2900 浏览

sql - SQL - 用一个公共字段合并两个表

我已经搜索和搜索,但找不到我要找的东西。当谈到 SQL 时,我并非完全无能,但这超出了我的能力范围。

所以我有两个表,一个公共字段。

表 - LName 字段
名称

表 - 描述
字段名称
字段 添加
字段 作业

现在,表 LName 只有一个字段并且已填充。

表描述在除“名称”字段之外的所有字段中都有数据。

我需要将表 LName 中的字段“名称”中的数据放入表描述中的字段“名称”中。

要么将两个表合并到一个包含所有字段但没有数据的表(File3)中。

感谢任何帮助。
巴里

更新 2:我能够创建一个可以执行我想要但只返回 1 条记录的逻辑文件。

SQL:

查询的输出

所以现在我必须想办法让这条 SQL 语句读取所有 28 条记录。

巴里

0 投票
1 回答
557 浏览

mysql - MySQL tables on iSeries / IBMDB2I

We are using the zendDBi database and are attempting to setup a MySQL table from an existing DB2 table. Using the method found here: http://wsip-174-79-32-155.ph.ph.cox.net/wiki/index.php/MySql/DB2StorageEngineDocument (in the section titled “Existing IBM i DB2 Tables” near the bottom of the page).

This works for most tables but for one table in particular it does not seem to be working.

I’m able to create the MySQL table and copy the FRM files however when I try to access the table via mysql I get the error “Got error 2102 'The file has changed and might not be compatible with the MySQL table definition' from IBMDB2I”</p>

I read a similar article here: http://forums.zend.com/viewtopic.php?f=77&t=104778

However no FID file is created. (this did work for another table). Here is what I have tried so far:

  • Checked file permissions on the mysql frm file
  • Checked the permissions on the DB2 table
  • Using “flush tables” command in MySQL
  • Manually creating an FID file with the correct identification number
  • Set IBMDB2I as default engine in my.conf
  • Making sure the table does not contain zoned decimal fields

I’m curious as to what to try next.

Here is the SQL create statement for the original table from iSeries Navigator. as you can see there are only 2 data types.

I'm not sure if it matters but the tables I'm having difficulty with were created in an older OS. Currently we are on 7.1 however these tables were likely created in v3r2 or v5r4. so maybe there is something missing?

0 投票
1 回答
5265 浏览

variables - 使用 IBM iSeries Navigator “运行 SQL 脚本”实用程序声明变量

我是 IBM DB2 的新手,使用 iSeries Navigator、IBM iSeries Access for Windows Version 5 Release 4、“运行 SQL 脚本”实用程序。

是否可以在此实用程序中使用变量?许多 Stack Overflow 答案(以及其他论坛上的答案)指示人们使用如下代码:

这在“运行 SQL 脚本”实用程序中不起作用,引发异常“令牌 ATOMIC 无效”。如果我删除关键字 ATOMIC,我会收到错误“令牌 X 无效”。如果我删除整个 BEGIN 和 END 行,我会收到错误“令牌 VARCHAR 无效”。

另一组答案指示人们使用如下代码,该代码也会失败并出现相同的“...无效”错误:

是否可以在“运行 Sql 脚本”实用程序中声明变量?

0 投票
1 回答
3713 浏览

.net - SQL0469 IN、OUT 或 INOUT 对过程中的参数 2 无效

我正在尝试针对运行 AS400 的 IBM iSeries 运行存储过程,并在我的标题中出现上述错误。

当我键入以下内容以从 System iNavigator 工具执行存储过程时,它运行良好:

第一个参数direction在存储过程中定义为输入,第二个为输出,第三个为输出。

问题是当我尝试从设置参数的.Net 代码运行存储过程时。有人可以帮帮我吗?

我的参数列表设置如下:

解析度

必须声明命令文本如下:

必须设置参数如下:

0 投票
1 回答
609 浏览

ibm-midrange - 如何使用 c# 在 AS400 中检索作业列表

最近,我需要访问 AS400 来监控夜间批处理作业并创建显示所有作业和运行的详细信息的每日报告。

在 AS400 控制台中,我可以输入“DSPMSG”命令来获取它。

在 IBM System i Access for Windows 中,我可以打开“System i Navigator”并在基本操作 - 消息中获取这些信息。

但我不确定如何使用 C# 来获取这些信息。

0 投票
2 回答
2213 浏览

sql - 在 iDB2 中将 12h 格式时间戳字符串格式化为 TIME

我需要一个 iSeries DB2 SQL 查询,它可以将此时间戳1/1/1900 12:00:00 AM转换为00:00:00(处理 12 小时到 24 小时的时间转换)。我使用的标量函数不处理这种时间格式,我设法支持它的唯一方法是使用以下查询:

有没有更好的方法来实现目标?

编辑 2014 年 6 月 6 日

我发现可以在连接字符串中设置日期格式(ISO,USA,...),这将解决我目前遇到的所有问题,但是,我还没有找到正确的参数名称来实现这一点。

0 投票
0 回答
320 浏览

ibm-midrange - IBM Power System 上的设备 TAP01 发生加载故障

我对 Ultrium 5 类型的磁带有疑问。我无法从系统上的系统进行每日备份的磁带在我看来是这样说的:

设备 tap01 上发生加载失败。

我无法从 IBM 服务器中取出它,并且 IBM 服务器机器中磁带部分上方的小屏幕显示了数字(6 和!)。

0 投票
1 回答
1772 浏览

sql - SQL 和 IBMDASQL

我正在尝试查询一组文件。在 15 个中,我必须查询其中 3 个返回错误:消息 7314,级别 16,状态 1,第 1 行链接服务器“此处的服务器名称”的 OLE DB 提供程序“IBMDASQL”不包含表“系统。 lib. 文件”。该表不存在或当前用户对该表没有权限。

我正在使用 SQL 并使用 IBMDASQL 驱动程序制作了一个链接服务器。

就像我说的,15 个文件中的 3 个文件只给了我这个问题。

当我对文件执行 wrkobj 时,我看到 public 拥有所有权限,并且我添加了特定的用户帐户以防万一。

当我使用基本的 ODBC 和 microsoft 查询进行连接时,我什至看不到列表中的文件。当我直接登录 iSeries 时,我可以查看和操作这些文件。.

现在使用备用文件名。但是遇到插入错误。如所问,这是代码,然后是确切的错误。

错误消息:链接服务器“PARKWAY-TRAIN”的 OLE DB 提供程序“IBMDASQL”返回消息“SQL0104:令牌。无效。有效令牌:。原因...... . 不是有效标记。有效标记的部分列表是 。此列表假定该语句在该标记之前是正确的。错误可能在语句中较早出现,但该语句的语法在此之前似乎是有效的point. Recovery ... : 执行以下一项或多项操作并再次尝试请求: -- 验证令牌区域中的 SQL 语句 .. 更正语句。错误可能是缺少逗号或引号,它可能是拼写错误的单词,也可能与从句的顺序有关。 -- 如果错误标记是 ,更正 SQL 语句,因为它没有以有效的子句结尾。”。消息 7343,级别 16,状态 2,第 1 行链接服务器“PARKWAY-TRAIN”的 OLE DB 提供程序“IBMDASQL”无法插入表“[PARKWAY” -火车].[S60017].[ORDERF912].[NC_NURS_ORD_REF]"。

如果我只运行代码的 Select 部分,我会得到准确的返回 503 行。只有当我输入代码的插入部分时它才会失败。

IBM 说要更正令牌。不过,我不知道哪个令牌有误要纠正。