问题标签 [informix]

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 投票
4 回答
4767 浏览

informix - 在 Informix SPL 过程中休眠

从 Informix SPL 例程中执行与传统 sleep() 系统调用的语义等效的最佳方法是什么?换句话说,只需“暂停” N 秒(或毫秒或其他什么,但几秒就可以了)。我正在寻找一种涉及将一些新的(可能由我编写的)C 代码或其他库链接到 Informix 服务器的解决方案。这必须是我可以完全从 SPL 做的事情。IDS 10 或 11 的解决方案会很好。

@RET - “显而易见”的答案对我来说并不明显!我不知道 SYSTEM 命令。谢谢!(是的,我就是你认为的那个人。)


是的,它仅用于调试目的。不幸的是,SPL 中的 CURRENT 将始终返回相同的值,在调用的入口处设置:

“从 SPL 函数内部对 EXECUTE FUNCTION(或 EXECUTE PROCEDURE)语句调用的任何对 CURRENT 的调用都会在 SPL 函数启动时返回系统时钟的值。”

IBM Informix SQL 指南

将 CURRENT 包装在它自己的子程序中没有帮助。在第一次调用包装器时,您确实会得到不同的答案(前提是您使用的是 YEAR TO FRACTION(5) 或其他具有足够高的分辨率来显示差异的类型),但随后您会在每一个上得到相同的值随后的调用,确保任何类型的循环都不会终止。

0 投票
4 回答
8819 浏览

database - 在 Informix 上查找长时间运行的查询?

如何找出 Informix 数据库服务器上长时间运行的查询是什么?我有一个正在耗尽 CPU 的查询,并想找出查询是什么。

0 投票
5 回答
8162 浏览

migration - 将数据库从一个 Informix IDS 11 服务器复制到另一个的最简单方法是什么

源数据库相当大。目标数据库不会自动增长。它们在不同的机器上。

我来自 MS SQL Server,MySQL 背景和 IDS11 似乎过于复杂(我敢肯定,有充分的理由)。

0 投票
4 回答
6169 浏览

import - 附加 Informix .dat 和 .idx 文件

我们正试图在测试服务器上复制我们的一个 informix 数据库,但如果没有内部的 Informix 专业知识,我们只能猜测我们需要做什么。我自己在动态学习这些东西,远不及有效甚至低效操作 Informix 所需的专业知识水平。无论如何...我们设法从某处的实时服务器复制了 .dat 和 .idx 文件。在其上安装 Linux 和最新的 Informix Dynamic Server 并使其启动并运行。

现在我们应该如何处理来自实时服务器的 .dat 和 idx 文件?我们是否将它复制到某个地方,它会自动识别它?

或者是否有类似的方法可以从 MS SQLServer 附加数据库以在新数据库中注册数据库文件?

在我的绳索末端...

0 投票
7 回答
23396 浏览

database - informix 中查询的行号

我正在使用informix数据库,我想要一个查询,您还可以生成一个行号以及查询

喜欢

这里 firstName, lastName 来自数据库,其中行号是在查询中生成的。

0 投票
2 回答
1819 浏览

delphi - Delphi 2009 和 Informix dbExpress 与 Windows 2003

我有一个简单的应用程序,它使用 dbExpress 连接 Informix 数据库。如果我用 TurboDelphi 编译它,它可以在 WinXP 和 Win2003 上运行。

当我使用新的 Deplhi 2009 时,我的应用程序在 WinXP 上运行正常,但在 Win2003 上无法启动。没有错误消息框,只有事件日志中的信息:

错误应用程序 inf_dbexpress_test.exe,版本 0.0.0.0,错误模块 kernel32.dll,版本 5.2.3790.4062,错误地址 0x0000bee7。

我认为这是 dbExpress 驱动程序的问题,而我使用 ODBC 连接 Informix 的德里 2009 编译的其他应用程序在 Win2003 上工作。

任何人都可以测试来自 Delphi 2009 的 Informix dbExpress 驱动程序是否适用于 Windows 2003?


感谢您的帮助,但它不起作用。

至于$INFORMIXDIR:我重新安装了 ClientSDK 3.5,我$INFORMIXDIR现在是:

c:\informix

(是 c:\Program Files ...)。

我可以从使用 ODBC 的应用程序连接到数据库。但是 dbExpress 应用程序无法启动,即使在 WinXP 兼容模式下也是如此。


我已在 Delphi Quality Central 中将其报告为错误 #67823:

0 投票
1 回答
10884 浏览

sql - Informix SQL 语法 - 嵌套计数、总和、舍入

让我为这个问题的简单性提前道歉(我听到了 Jeff 的播客以及他担心问题的质量会被“降低”),但我被卡住了。我正在使用 AquaData 来访问我的 Informix DB。MS SQL 和 Informix SQL 之间有一些古怪的细微差别。无论如何,我正在尝试做一个简单的嵌套表达式,它讨厌我。

带有简单除法表达式的行返回完成的人的百分比,这正是我想要的......我只需要将结果四舍五入到 2 位。注释行 (--) 不起作用。我已经尝试了所有我能想到的变化。

*我不想同时使用第 5 行和第 6 行


对不起,我应该提到 now_calc 是一个临时表,字段名称实际上是“students”和“finished”。我将它们命名为这样,因为我要将这些结果直接输出到 Excel 中,并且我希望字段名称兼作列标题。所以,我明白你在说什么,并基于此,我通过删除 (*) 使其工作,如下所示:

我包括了整个查询——这对其他任何人来说可能更有意义。从学习的角度来看,重要的是要注意计数在“已完成”字段上起作用的唯一原因是因为 Case 语句根据对 Case 语句的评估将值设为 1 或 null。如果该案例陈述不存在,计算“完成”将产生与计算“学生”完全相同的结果。

谢谢!

0 投票
1 回答
411 浏览

shell - 在 SPL - 本地范围内设置 PDQ?

为了根据批处理作业运行的时间微调 PDQ 资源的分配,我们有一个实用程序可以根据一周中的某天/一天中的某小时规则设置 PDQPRIORITY,例如:

但是,这在脚本启动时是固定的,因此长时间运行的作业不会随着它们的进展而受到限制。为了解决这个问题,我们尝试了以下方法:

在整个 SQL 的不同时间间隔,我们添加了:

然而,虽然它没有失败,但 SET PDQ 的范围似乎是 SPL 的本地。onstat -g mgm不报告对分配的原始资源的任何更改。所以添加这些set_pdq()调用似乎没有任何效果——在程序启动时分配的资源保持不变。

该代码是嵌入在shell中的SQL,即:

所以反引号或 $( ) 插值发生在脚本的开头,当 here 文档被传递给 dbaccess 时。(这消除了明显的SET PDQPRIORITY $(throttle);:)

哇,这很快就变得罗嗦了。任何人都可以提出任何不涉及完全重写这些批处理作业的实现方式吗?由于严重依赖临时表,因此无法将 SQL 分解成更小的部分。

0 投票
2 回答
1201 浏览

sql - Informix 中的“约束中列的总长度太长”错误是什么意思?

我得到约束中列的总长度太长。以下错误

0 投票
1 回答
10720 浏览

sql - Informix 列的最大长度是多少,可以增加吗?

我正在尝试使用以下内容创建表:

由于列长度不够大而失败。