我得到了一些奇怪的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);
}
Run Code Online (Sandbox Code Playgroud)
传递给上面函数的输入参数值是
pszRowId = [AAAF1lAAIAABOoRAAB], pszMarker=X
Run Code Online (Sandbox Code Playgroud)
查询返回错误代码:02115,并显示以下消息:
SQL Error:02115 Code interpretation problem -- check COMMON_NAME usage
Run Code Online (Sandbox Code Playgroud)
我使用Oracle作为后端数据库.
任何人都可以向我提供有关此查询失败的可能原因的信息吗?
任何帮助都非常感谢.
PRO-C编译期间使用的标志定义如下:
------/u01/app/oracle/product/8.1.6/ORACLE_HOME/bin/proc …Run Code Online (Sandbox Code Playgroud)