//struct定义如下
typedef struct _sql_TBL_JobMakTitleMargin
{
   long mJobID;
   char chJobType;
   long chCoreTaskID;
   char chJobStatus;
   char chJobStatusDetail[129];
 }sql_TBL_JobMakTitleMargin;
//代码
EXEC SQL BEGIN DECLARE SECTION;
sql_TBL_JobMakTitleMargin stTbl;
EXEC SQL END DECLARE SECTION;EXEC SQL SELECT 
JMTMD_mJobID, //number类型
JMTMD_chJobType,//CHAR(1)
JMTMD_chCoreTaskID,//number
JMTMD_chJobStatus//CHAR(1)
JMTMD_chJobStatusDetail//varchar2(128)
INTO :stTbl FROM TBL_JobMakTitleMargin WHERE JMTMD_mJobID = :nJobID;以上代码,如果不读取最后那个varchar2类型的字段,是可以的,读取这个字段就会返回-1007
我查到的大概意思是select对列和into的变量不对应,不知道是什么原因:(