问题标签 [db2-400]
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.
sql-server - 如何使用 Squeryl 客户端获取正确的 DB2/400 库(数据库)
我已经安装了 Squeryl Client,并且可以轻松访问我的 iSeries DB2/400 并选择和查看表中的数据。但是,似乎每次我想从一个库(数据库)更改为另一个时,我都必须修改别名中的 URL。如果我想从库(数据库)“LibraryA”中查询文件(表),我使用 URL“jdbc:as400://www.system.com/LibraryA”。如果我想从库(数据库)“LibraryB”中查询文件(表),我使用 URL“jdbc:as400://www.system.com/LibraryB”。即使我尝试使用带有库列表的 URL,如“jdbc:as400://www.system.com/;libraries=LibraryA LibraryB”,它也只会在尝试访问“LibraryB”中的表时查看第一个库.
当我将表拖到图表并选择一些字段时,我希望 sql 使用库(数据库)名称来限定表。毕竟,它知道表格是从哪个库中拖出来的。生成的 sql 如下所示:
从表 B 中选择表 B.字段 1、表 B.字段 2
我期望它看起来像这样(iSeries sql 语法):
从库 B /tableB中选择 tableB.field1、tableB.field2
当我尝试键入生成的 SQL 命令时,它仍然尝试从 LibraryA 访问表。
如果我使用 URL ""jdbc:as400://www.system.com/",它将尝试找到一个与我的用户 ID 名称相同的库(数据库)。
当 Squeryl 客户端可以构建显示我正在选择的库和表的对象列表时,我应该认为它也能够构建一个查询来访问正确的库。
我错过了什么?
谢谢
鲍勃
sql - SQL 中的搜索和子字符串
我想在 DB2 for i(以前称为 iSeries 或 AS/400)上使用 SQL 从字符串中提取值。
该字符串包含类似 JSON 的分隔键:值对列表。例子:
给定一个键字符串,例如“事件类型”,我想找到冒号 (':') 之后的值,在本例中为“XYZ”。但请记住,我的密钥字符串可能并不总是“事件类型”。
sql - iSeries Access v5.8 - SQL 更新除最新记录外的一位客户的记录?
我对 SQL 比较陌生,需要为一个表组合一个 UPDATE 语句。
(我从一个 SELECT 语句开始,一旦我确定它正在工作,我就会创建 UPDATE 语句。)
所以我有一个表合同,每一行代表一份合同。一个客户可以有多个合同在桌子上,但合同编号总是加一。
我想为每个客户选择除最新(即最大合同编号)合同之外的所有合同。(这些是我将要更新的行)
我试过了
但是绿屏告诉我使用MAX
无效。
我的语法一定是错误的——有什么帮助吗?!
c# - 如何查询 400 系统并将结果用作 ListView 控件的数据源?
我正在开发一个简单的 C# Windows 窗体应用程序。有人可以为我提供如何执行以下操作的示例:
- 打开与 AS400 系统的连接
- 使用字符串查询打开的连接。
- 以某种方式存储查询结果。
- 将存储的结果用作 ListView 控件的数据源
我在 ODBC 和 ADO 方法之间没有偏好 1 方式或其他方式(也不知道区别)来实现这一点,但我目前的努力正在急剧失败。对于任何感兴趣的人,这是我当前的代码,它似乎在某处缺少重要步骤,因此我正在寻找示例。
非常感谢任何帮助!
编辑:
弄清楚了:
python - 使用 python 转换来自 db2 查询的字节数组信息
我正在使用 iSeries Access ODBC 驱动程序来尝试对 DB2 for i 运行查询。我想让这些信息更易读。如何使用 python 转换字节数组信息?下面的示例输出:
decimal - MS 访问 DB2
我正在尝试将 MS Access 中的记录插入到 iseries 上的 DB2 中。除了一个十进制字段外,一切都运行良好。它在 Access 中显示为 .0162。我已经尝试了各种关于如何定义字段的选项,但 iseries 上的字段总是最终为 0.01 或 0.01000。有什么想法可以让这个领域发挥作用吗?
java - MyBatis 的“超动态”查询
有没有办法使用 MyBatis 即时创建 sql 查询?具体化:我有一个查询,其中一部分(但不是参数)需要在运行时创建:
第二部分可以用作参数,但是,当我尝试查询时出现异常:
使用普通的 JDBC,我使用MessageFormat
:
,但我还没有找到如何使用 MyBatis 来实现它的方法。
ibm-midrange - ISERIES sequel 查询中的计算值导致十进制数据错误或值为零
我想知道为什么以下 SEQUEL 计算不能正常工作,它们似乎更多地基于内容而不是语法。这一切都始于我们的一个观点(帮助系统)后续查询未能正确计算一列的一行数据(不是所有行)。我从 Sequel Viewpoint 应用程序中复制了代码并直接粘贴到STRSQL
iseries 上并体验了相同的结果。您将看到下面使用值 922.459 进行的计算——其中一个导致++++
,一个产生正确的值(不带括号),一个计算正确但计算精简。您还会看到 50 的值 - 结果为零,而 1 使用 50.5 显示正确的结果。我收到数据十进制错误,但当然没有什么可以帮助我理解原因——尤其是因为我正在处理所有硬编码的数字。我确实发现了一件事——如果我将数字从 50 更改为 50.0——计算是正确的。但是,如果我对数字 922 执行相同操作 - 922 和 922.0 都会导致+++
. 有任何想法吗?
产量:
尽管:
产量:
和:
产量:
和:
产量:
和:
产量:
c# - C# ADO.Net 到 db2 iseries - 连接无效
我在从 C# ADO.Net 程序连接到 DB2 iSeries 数据库时遇到问题。
我可以使用 ClientAccess“从 iSeries 传输数据”工具从 Windows 机器连接到 DB2/iSeries,并具有以下设置:
它检索 23 条记录。
我正在尝试从一个简单的 C# 程序访问相同的数据,总结如下:
conn 和 cmd 对象创建正常,但 ExecuteReader() 调用失败,并显示:
我的第 27 行是对 cmd.ExecuteReader() 的调用
请问有什么想法吗?
11 月 19 日进一步的想法:
[请原谅任何笨拙的礼仪,我是这里的新海报]
- 我错过了什么吗?我认为这里只有两件事会
出错:- 我的代码。不,太简单了,由@MikeWills 的帖子验证
- 我的连接字符串
- 或者还能有别的东西吗?
- 重新 IBM.Data.DB2.iSeries.iDB2Command.verifyConnection()
这里有人可以访问代码来说明此方法的作用以及可能导致它失败的原因吗?
ibm-midrange - IBM DB2 for i 错误消息在错误中使用短列名
请注意,此问题特定于“IBM DB2 for i”,即 IBM i 操作系统的 DB2 版本。
下面的屏幕截图显示了一个故意错误的 INSERT 语句,它产生了 SQL0407 的 SQL 错误。
我的问题... 是否有我可以更改的 DB2、JDBC 或其他设置,以便在错误中使用长列名而不是神秘的短列名?注意我在 INSERT 语句中使用了长列名。