Почему я получаю исключение OutOfRange в функции GetOrdinal этого поля CLOB?
Это образец моего кода. Поле FUNCTION_SCRIPT является полем CLOB (единственное поле CLOB) в моей таблице 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();
}
Я получаю исключение вне диапазона, когдаtemp = odr.GetOrdinal("FUNCTION_SCRIPT")
заявление выполнено. Понятия не имею почему? Я пытался прочитать это поле CLOB в течение нескольких часов. Это самый близкий я пришел. Ваша помощь будет высоко оценена.
постскриптум Может ли быть так, что мое утверждение SELECT проблематично? Я брал код из разных ссылок.