我创建了一个返回CLOB的函数Funt()。要调用此函数,我使用了“DUAL中的select Funt()”。当我直接从SQL Developer执行此查询时,它会很快完成。但是当我使用OracleDataReader和OracleDataAdapter执行此查询时,它们都没有完成。任何的想法?
编辑1 :这是代码。它挂在了读者身上。阅读()。
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慢。