Ошибка, перечисленная в вопросе, была исправлена в 10.2.0.3, и эта ошибка указана только в версиях Oracle до этого.
Изменить: та же проблема была замечена в Oracle 10.2.0.4. Мы все еще ищем это
Edit2: при определении курсоров для столбцов CHAR / VARCHAR в OCI (для этого мы используем оболочку), размер строки, которая привязана к столбцу, должен быть как минимум на один больше максимальной ширины столбца.
например. Имя столбца: U_NAME Тип: VARCHAR (30)
1.
char zName [30];
pCursor-> Define (zName, 30O); // это будет аварийно, если столбец имеет значение с 30 символами
2.
char zName [31];
pCursor-> Define (zName, 30O); // это приведет к сбою, если столбец имеет значение 30 символов
3.
char zName [31];
pCursor-> Define (zName, 31); // Правильный. не произойдет сбой для любого значения