0

我是 proc 新手,我将它与 C++ 一起使用。

我能够连接到数据库。但在那之后,当我尝试触发查询时,它给了我错误。

代码:

EXEC SQL BEGIN DECLARE SECTION;
   string custName=cusName;
   long int custID=cusID;
  EXEC SQL END DECLARE SECTION;

  EXEC SQL insert into tbl_customer5 values(:custID,:custName)

错误:

   Syntax error at line 42, column 4, file Customer.pc:
    Error at line 42, column 4 in file Customer.pc
       string custName=cusName;
    ...1
    PCC-S-02201, Encountered the symbol "string" when expecting one of the following

:

   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, a typedef name, a precompiled header, exec oracle,
   exec oracle begin, exec, exec sql, exec sql begin,
   exec sql end, exec sql type, exec sql var, exec sql include,
The symbol "enum," was substituted for "string" to continue.

请告诉我如何解决此错误。在这种情况下我们可以使用数据等效性吗?

4

2 回答 2

1

如错误所示,“字符串”符号不存在。尝试使用 varchar 代替。

于 2011-06-07T12:20:48.130 回答
0

它找不到字符串。

您可能需要 std:: 在它的前面,或者您需要向 Pro*C 调用添加包含路径,以允许预处理器找到正确的包含文件。还有其他 Pro*C 选项可以影响事情。

你能告诉我们整个makefile吗?

于 2012-09-15T16:57:49.230 回答