Por que recebo exceção OutOfRange na função GetOrdinal deste campo CLOB?
Esta é a amostra do meu código. O campo FUNCTION_SCRIPT é um campo CLOB (o único campo CLOB) na minha tabela IS_FUNCTION
public void ReadFunction(string FName, out string fContent) {
OracleCommand command = _connection.CreateCommand();
OracleTransaction transaction = _connection.BeginTransaction();
command.Transaction = transaction;
command.CommandText = "SELECT TO_CLOB(TO_NCLOB(FUNCTION_SCRIPT)) FROM IS_FUNCTION where FNAME=:fName ";
command.Parameters.Add("FName", OracleType.NVarChar).Value = FName;
OracleDataReader odr = command.ExecuteReader();
int temp = odr.GetOrdinal("FUNCTION_SCRIPT");
OracleLob myLob = odr.GetOracleLob(temp);
fContent = (String)myLob.Value;
odr.close();
}
Eu recebo uma exceção fora de alcance quandotemp = odr.GetOrdinal("FUNCTION_SCRIPT")
instrução é executada. Não tem ideia do porquê? Eu tenho tentado ler este campo CLOB por algumas horas agora. Este é o mais próximo que cheguei. Sua ajuda será muito apreciada.
p.s. Será que minha instrução SELECT é problemática? Eu tenho tomado código de referências diferentes.