1

我创建了一个返回 CLOB 的函数 Funt()。为了调用这个函数,我使用了“select Funt() from DUAL”。当我直接从 SQL Developer 执行此查询时,它会很快完成。但是当我使用 OracleDataReader 和 OracleDataAdapter 执行这个查询时,它们都没有完成。任何想法?

编辑1:这是代码。它挂在 reader.Read() 中。

OracleCommand command = new OracleCommand("select Funt() from DUAL", oraConnection);

OracleDataReader reader = command.ExecuteReader();

while (reader.Read())
{
    using (OracleLob lob = reader.GetOracleLob(0))
    { 
        using(StreamReader sr = new StreamReader(lob,Encoding.Unicode))
        {
            String msg = sr.ReadLine();
        }
    }
}

编辑 2:创建了一个简单的函数,只返回一个 CLOB,它适用于这段代码。

编辑 3:从 .NET 以这种方式运行函数似乎比在 SQL Developer 中慢。

4

0 回答 0