近来,写了一个c使用pro*c访问数据库的小程序。可是运行时日志中总提示如下的错误:
sqlcode=[-1480] [ORA-01480: trailing null missing from STR bind value
原因分析: 导致出现该问题的可能是由于变量设定的太短,导致SQL(PRO*C)取出的字段被截断,最后该字段对应的变量在赋值的时候无法找到结束字符。
我的小程序中是因为定义了一个字符串数组,有128个元素,可是却往其中存入的字符超过128个,这样原本的字符串被截断,末尾的'\0'(即null)被截掉,所以在随后的数据库插入操作中报错。
阅读(8282) | 评论(1) | 转发(0) |