文档解释
ORA-32128: setDataBuffer called after fetch has started
Cause: Fetch from result set has already started and the setDataBuffer call was made.
Action: Call the setDataBuffer method before calling the next() method.
。
ORA-32128的官方解释是:试图在fetch开始之后调用setDataBuffer,如果在fetch之前调用,则会引发ORA-32128错误。
常见案例
1、使用OCI函数可能会触发ORA-32128错误。例如,使用OCI函数从数据库表中获取数据时,如果在发出fetch命令之后调用setDataBuffer,则可能会发生ORA-32128错误。
2、在使用SQL语句查询数据库时,如果在发出fetch命令之后调用setDataBuffer,也可能引发ORA-32128错误。
一般处理方法及步骤
1、首先,如果使用OCI函数取回表中的数据,需要在发出fetch命令之前调用setDataBuffer,以避免ORA-32128错误。
2、如果使用SQL查询来取得表中的数据,需要把FETCH行数放到SELECT语句中,以避免在发出fetch命令之后调用setDataBuffer而引发ORA-32128错误。