Why Do I get OutOfRange Exception in GetOrdinal Function of this CLOB field?

て烟熏妆下的殇ゞ 提交于 2019-11-29 15:37:38

Thanks for all the suggestions and helps. I found that my problem was resolved by adding a

 if(odr.Read())
            {
                int temp = odr.GetOrdinal("FUNCTION_SCRIPT");
                OracleLob myLob = odr.GetOracleLob(temp);
                fContent = (String)myLob.Value;
            }

In other words, I was missing the statement odr.Read after the ExecuteReader() statement.

Try this

command.CommandText = "SELECT TO_CLOB(TO_NCLOB(FUNCTION_SCRIPT)) AS FUNCTION_SCRIPT FROM IS_FUNCTION where FNAME=:fName ";

Right now your query does not have a name because you've applied a function to the name so you need to ALIAS it to give it a name e.g AS FUNCTION_SCRIPT

UPDATE

OracleDataReader odr = command.ExecuteReader();
if(odr.HasRows)
{
  int temp = odr.GetOrdinal("FUNCTION_SCRIPT");
  OracleLob myLob = odr.GetOracleLob(temp);
  fContent = (String)myLob.Value;
}
else
   throw new Exception("No rows returned from database");
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!