有人有使用 ESQL/C 进行 INFORMIX-SQL 开发的经验吗?

发布于 2024-08-24 14:05:42 字数 233 浏览 6 评论 0原文

是否有人有使用 ESQL/C 进行 INFORMIX-SQL 开发的经验,例如在“Perform”屏幕生成器和“ACE”报告编写器中调用 C 函数?

我有 ISQL,没有 ESQL/C。我尝试编译一个执行屏幕,在说明部分中我放置了“ON BEGINNING CALL userfunc() END”,尽管我没有 ESQL/C,执行屏幕成功编译,没有错误!...显然,即使没有链接 ESQL/C 或 C 程序,编译器也没有拒绝 C 调用。

Does anyone have experience developing with ESQL/C for INFORMIX-SQL, as in calling C funcs within "Perform" screen generator and "ACE" report writer?

I have ISQL without ESQL/C. I experimented compiling a perform screen, where in the instructions section I put "ON BEGINNING CALL userfunc() END" and although I don't have
ESQL/C, the Perform screen successfully compiled without errors!.. Apparently, the compiler didn't reject the C call even though there's no ESQL/C or C program linked.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谁的年少不轻狂 2024-08-31 14:05:43

是的,我对它们有一些经验——现在是模糊而遥远的。

表单编译器 (sformbld) 必须接受您所做的任何函数调用 - 它无法判断它在运行时是否有效。它不知道运行表单所需的(自定义)执行运行程序可以使用哪些功能。

同样,报告编译器 (saceprep) 必须接受您进行的任何函数调用,因为它无法判断它在运行时是否有效。

要运行包含除内置函数之外的函数调用的表单,您必须创建自定义运行程序(而不是使用标准 sperform)。在 Unix 上执行此操作的脚本是“cperf”;它将采用您提供的函数定义并构建可以调用这些函数的自定义运行程序。然后,您可以使用自定义运行器运行使用这些函数的报告。如果您的自定义代码不执行任何 ESQL/C 调用,则您甚至不需要机器上的 ESQL/C; ISQL 产品就足够了。

类似的情况也适用于报告;您不能使用标准 sacego,但必须使用“cace”创建适当的自定义运行器。

现在,在遥远的黑暗时代(比如 1990 年之前),您无法使用 ISQL 获得自定义 ACE 和 Perform 内容 - 您必须购买 ISQL 和 ESQL/C。但自从 ISQL 版本 4.00 发布(AFAICR,1988 年或 1989 年)以来,自定义运行程序和库随 ISQL 一起提供,您不再需要购买 ESQL/C,除非您想将 ESQL/C 函数构建到自定义函数中。

请注意,您并不是创建自定义编译器;而是创建自定义编译器。因此,编译器无法判断哪些函数可用。

Yes, I have some experience with them - dim and distant, now.

The form compiler (sformbld) has to accept any function call that you make - it cannot tell whether it will be valid or not at run time. It does not know which functions are available to the (custom) Perform runner that will be needed to run the form.

Similarly, the report compiler (saceprep) has to accept any function call that you make because it cannot tell whether it will valid or not at run time.

To run a form that contains a function call other than the built-in functions, you must create a custom runner (rather than using the standard sperform). The script to do that on Unix is 'cperf'; it will take the function definitions that you provide and build a custom runner that can call those functions. You can then run a report which uses those functions using the custom runner. If your custom code does not do any ESQL/C calls, you don't even need ESQL/C on the machine; the ISQL product is sufficient.

The parallel circumstances apply to reports; you cannot use the standard sacego but must create an appropriate custom runner with 'cace'.

Now, in the dim distant dark ages (say before 1990), you did not get the custom ACE and Perform stuff with ISQL - you had to buy ISQL and ESQL/C. But since ISQL version 4.00 was released (AFAICR, in 1988 or 1989), the custom runners and libraries were provided with ISQL and you no longer need to buy ESQL/C unless you want to build ESQL/C functions into your custom functions.

Note that you do not create a custom compiler; therefore, the compiler cannot tell what functions are available.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文