问题标签 [embedded-sql]

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 回答
397 浏览

informix - 如何选择 32 位或 64 位 Informix Csdk 3.7?

我的开发人员机器是 Windows 7 64 位,有一些程序在 32 上,另一些在 64 位上

自 3.70FC3 和 3.70TC3 升级以来,我在使用 VisualStudio 2010 sp1 进行编译时遇到问题。

也许我需要做一些配置才能将 64 位更改为 32 位。或者可能不支持同时拥有 csdk

0 投票
1 回答
318 浏览

c - 哪个更快“col = ? or col = ? or col = ?” 或者在 C 中使用 informix (.ec/esql) 中的“where col in (?, ?, ?)”?

我们的代码是用 C 编写的,DB 是 Informix。我们在 ESQL 程序中做一些代码优化,发现如下查询:

UPDATE [TABLE] SET [PRIMARY KEY COLUMN] = [NEW KEY] WHERE COL = ? 或 COL = ? ...

where 子句中的列数是动态准备的。我们有一个上限检查来停止准备 where 子句并进行更新,然后返回并开始准备剩余的。UPPER_MARK 是“30”

if ( where_parameter_count >= UPPER_MARK )
__ 执行更新
__ __ clean_and_continue; /* 再次开始准备 */__

我们想用 WHERE ... IN 替换 WHERE .. OR

UPDATE [TABLE] SET [PRIMARY KEY COLUMN] = [NEW KEY] COL IN (?, ? ...)

这会比“哪里或”更快吗?

0 投票
1 回答
179 浏览

sql - 如果嵌入式 Sql 中的条件

这是我的嵌入式 SQL 程序的部分代码

它给出了错误

在“BEGIN-OF-STATEMENT”之后发现了一个意外的标记“IF EXISTS(SELECT * FROM table_name”。预期的标记可能包括:“”。SQLSTATE=42601

谁能告诉我出了什么问题?

0 投票
1 回答
3417 浏览

sql - SQL 应用程序错误

这是嵌入式 SQL 中的代码(在 c 中)

此代码给出以下错误,

SQLCODE : 4294966876 SQL0420N 在 函数“DECFLOAT”
的字符串参数中发现无效字符。
SQLSTATE=22018

任何人都可以告诉问题是什么?

0 投票
1 回答
843 浏览

oracle - 将记录从 Oracle 阵列移动到 Cobol 发生

如何将记录从 oracle 移动到 Cobol 数组?当我移动一个字段时,一切都按预期工作。当我尝试在 Oracle VARRAY 中移动记录时,我无法让它工作。PRO*COBOL 预编译器给出以下错误消息:

甲骨文类型:

COBOL ESQL 匿名 PL/SQL 块的片段:

COBOL 变量声明:

0 投票
2 回答
947 浏览

oracle - Informix "SERIAL" 到 Pro*C 中的 Oracle NUMBER/Sequence/Trigger

我正在尝试将一些 Informix ESQL 转换为 Oracle Pro*C。在现有的 Informix 代码中,“SERIAL”数据类型用于指示自动递增的列。根据 Oracle 文档,Informix 的 Oracle Migration Workbench 应该能够处理这个问题,它解释说它将“SERIAL”数据类型转换为具有相关 Oracle 序列和触发器的“NUMBER”。但是,在尝试运行该工具时,它只是将“SERIAL”一词替换为“ERROR(SERIAL)”,因此我一直在尝试手动添加触发器/序列。

他们在这里的例子:http: //docs.oracle.com/html/B16022_01/ch2.htm#sthref112展示了一种可以做到这一点的方法。该序列似乎相当简单,但是当尝试像这样创建触发器时:

Pro*C 预处理器在这里选择“CREATE”关键字,并决定不允许我使用主变量“:new.JOB_ID”,因为主变量不能与“CREATE”语句一起使用。

我的问题是,是否有某种方法可以创建将 Oracle 序列链接到特定列而不使用主机变量来指定列名的触发器?Oracle 文档似乎表明他们的迁移工具应该能够应付,这意味着必须有某种方法可以做到这一点。然而,我发现的所有触发器使用示例都使用导致预处理器抱怨的主机变量。

感谢您的时间。

(注意:我在上面的示例中使用了 Oracle 文档中示例中的触发器/序列/列名称。)

0 投票
1 回答
1538 浏览

c++ - Proc*C 编译出错

我正在尝试使用以下预编译器选项在 Red Hat Linux v4.1.2-44(能够在 HP 和 Solaris 上编译)上编译 .pc 文件:

PROCFLAGS =* maxopencursors *=100 PARSE =NONE userid =db2poc/db2poc@mydb VARCHAR =YES code =CPP CPP_SUFFIX =cpp duration =session sqlcheck =full include =/app1/myuser/Application/Source/Header SYS_INCLUDE =/oradata1/ora11g /app/ora11g/product/11.2.0/dbhome_1/rdbms/public,/oradata1/ora11g/app/ora11g/product/11.2.0/dbhome_1/precomp/public,/oradata1/ora11g/app/ora11g/product/11.2 .0/dbhome_1/rdbms/plsql/public,/oradata1/ora11g/app/ora11g/product/11.2.0/dbhome_1/xdk/include,/usr/include/c++/3.4.6/backward

问题是,只要 EXEC SQL DECLARE SECTION 中有宏或 typedef 数据类型,它就会抛出错误,提示 PCC-S-02322,找到未定义宏标识符,并在typedef 数据类型的情况下抛出以下错误:

PCC-S-02201,在预期以下情况之一时遇到符号“SHORT”:

auto, char, const, double, enum, extern, float, int, long, *ulong_varchar, OCIBFileLocator OCIBlobLocator,* OCIClobLocator, OCIDateTime, OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber, OCIRaw, OCIString, register, *short, signed, sql_context, sql_cursor, static, struct,* typedef, union, unsigned, utext, uvarchar, varchar, void, volatile, typedef 名称, 预编译头文件, exec oracle, exec oracle begin, exec, exec sql, exec sql begin, exec sql end, exec sql type, exec sql var, exec sql include,

符号“enum”被替换为“SHORT”以继续。

请建议。谢谢

0 投票
3 回答
5627 浏览

sql - SQL - 删除和子查询

以下是我编写的一个 sql 查询,用于删除放置表中的所有记录,其中placement.op_number= 返回记录的列表。

子查询单独工作正常,只返回OP_NUMBER列(两行)。

我得到的错误是:

子查询最多可以返回一条记录

我究竟做错了什么?

0 投票
1 回答
265 浏览

informix - Informix ESQL/C — 如何初始化字段?

如何在 ESQL/C 中编写一个例程,它将所有数字字段(smallint、decimal 等)初始化为 0(零)并将表中的其他字段初始化为空格?

0 投票
1 回答
2260 浏览

jdbc - WMB:在 ESQL 中,是否可以连接到定义为 JDBCProvider 可配置服务的数据源来代替 ODBC DSN?

我正在继承现有的以 ESQL 为中心(计算节点)的 WMB 流,该流通过 ODBC DSN 访问其数据库。我更喜欢使用可配置的服务来代替 ODBC DSN 来访问数据库,这是我在以 Java 为中心的流(JavaCompute 节点)中使用的。

是否可以配置 Compute 节点通过可配置服务与 db 通信?