【发布时间】:2018-03-07 10:43:06
【问题描述】:
我正在尝试将 ~2000 行 Pro*C 程序移植到 C++(Pro*C++)。它充满了在 SQL 查询中用作主变量的全局变量:
char var1;
char var2;
int execute_query() {
// some code
EXEC SQL SELECT ... INTO :var1
EXEC SQL SELECT ... INTO :var2
// some code
}
但是,在预编译器选项中使用 code=cpp,PARSE 选项设置为 PARTIAL,这意味着预编译器仅识别在 DECLARE 部分中声明的主机变量。
我可以只用声明部分包围全局变量吗?
EXEC SQL BEGIN DECLARE SECTION
char var1;
char var2;
EXEC SQL END DECLARE SECTION
int execute_query() {
// some code
EXEC SQL SELECT ... INTO :var1
EXEC SQL SELECT ... INTO :var2
// some code
}
如果没有,是否有另一种方法可以让预编译器识别全局变量而无需进行大量重构?
【问题讨论】:
-
当您尝试将它们包装在声明部分时发生了什么?
-
我问是因为在我的环境中制作独立测试程序有很多障碍......
标签: c oracle-pro-c embedded-sql