Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

ora-01406 Erro ao buscar valores usando OCI


O bug listado na pergunta foi corrigido em 10.2.0.3 e o erro só é dado em versões do Oracle anteriores a isso. Edit:O mesmo problema foi visto no Oracle 10.2.0.4. Ainda estamos analisando isso

Edit2:Ao definir cursores para colunas CHAR/VARCHAR em OCI (usamos um wrapper para esta finalidade), o tamanho da string que está vinculada a uma coluna deve ser pelo menos um maior que a largura máxima da coluna.

por exemplo. Nome da coluna:U_NAME Tipo:VARCHAR(30)

1.char zName[30];pCursor->Define(zName, 3O); // isso irá travar se a coluna tiver um valor com 30 caracteres

2.char zName[31];pCursor->Define(zName, 3O); // isso irá travar se a coluna tiver um valor com 30 caracteres

3.char zName[31];pCursor->Define(zName, 31); // Correto. não travaria por nenhum valor