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 に答える