从C#执行Oracle函数

时间:2013-10-08 13:09:27

标签: c# oracle function

我创建了一个返回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慢。

0 个答案:

没有答案