9

以下に示すように、Pro-C プロシージャの奇妙な動作が発生しています。

#define BGHCPY_TO_ORA(dest, source) \
{ \
(void)strcpy((void*)(dest).arr, (void*)(source)); \
(dest).len = strlen((const char *)(dest).arr); \
}
#define BGHCPY_FROM_ORA(dest, source) \
{ \
(void)memcpy((void*)(dest), (void*)(source).arr, (size_t)(source).len); \
(dest)[(source).len] = '\0'; \
} 

long fnSQLMarkProcessed (char *pszRowId, char *pszMarker)
{
  BGHCPY_TO_ORA (O_rowid_stack,    pszRowId);
  BGHCPY_TO_ORA (O_cust_processed, pszMarker);

  EXEC SQL
       UPDATE  document_all
          SET  processed_by_bgh = :O_cust_processed
        WHERE  rowid = :O_rowid_stack;

  return (sqlca.sqlcode);
}

上記の関数に渡される入力引数の値は次のとおりです。

pszRowId = [AAAF1lAAIAABOoRAAB], pszMarker=X

クエリは、次のメッセージとともにエラー コード:02115 を返します。

SQL Error:02115 Code interpretation problem -- check COMMON_NAME usage

バックエンド データベースとして Oracle を使用しています。

この失敗したクエリの考えられる原因について、誰かが私に情報を提供できますか?

どんな助けでも大歓迎です。

PRO-C コンパイル中に使用されるフラグを以下に定義します。

------/u01/app/oracle/product/8.1.6/ORACLE_HOME/bin/proc `echo  -Dbscs5 -Dsun5 -I/export/home/bscsobw/bscs6/src/CoreDumpIssue/final_Code_Fix_004641  -DNDEBUG -DSunOS53 -D_POSIX_4SOURCES -I/usr/generic++/generic++2.5.3.64_bit/include  -DFEATURE_212298 -DBSCS_CONFIG -I/export/home/bscsobw/bscs6//src/bat/include -DFEATURE_00203808_GMD -DFEATURE_00241737  -DORACLE_DB_BRAND -I/u01/app/oracle/product/8.1.6/ORACLE_HOME/rdbms/demo -I/u01/app/oracle/product/8.1.6/ORACLE_HOME/precomp/public -I/export/home/bscsobw/bscs6/src/CoreDumpIssue/final_Code_Fix_004641/include -I../bat/include -DFEATURE61717 -DFEATURE52824 -DFEATURE56178 -DD236312_d -DSDP -g | sed -e 's/-I/INCLUDE=/g' -e 's/-D[^ ]=[^ ]*//g' -e 's/-D\([^ ]*\)/DEFINE=\1/g'` select_error=no   DEFINE=FEATURE61717 DEFINE=FEATURE52824 DEFINE=FEATURE56178 \
                lines=yes iname=bgh_esql.pc oname=bgh_esql.c lname=bgh_esql.lis
4

1 に答える 1