我有一個函數可以從存儲rtf字符串的Oracle DB中抽出一個CLOB列。.NET Oracle SQL命令不執行
public static string GetRTFNoteParsed(string limsNoteNum, string radioEnv)
{
var rtfNote = "";
string oradb = GetDBconfig(radioEnv);
OracleConnection conn = new OracleConnection(oradb);
using (conn)
{
try
{
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
if (limsNoteNum != null)
{
//rtf notes are not stored as plain text. This regex takes it out
cmd.CommandText = "SELECT REGEXP_REPLACE(REGEXP_REPLACE(NOTE_CONTENTS, '\\(fcharset|colortbl)[^;]+;', ''), '(\\[^ ]+ ?)|[{}]', '') FROM LIMS_NOTES WHERE NOTE_ID = " + limsNoteNum;
//cmd.CommandText = "SELECT NOTE_CONTENTS FROM LIMS_NOTES WHERE NOTE_ID = 86253";
}
cmd.CommandType = CommandType.Text;
OracleDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
rtfNote = dr.GetValue(0).ToString();
}
}
if (conn != null)
{
conn.Dispose();
}
}
catch (Exception e4)
{
log.Error("Error with data pulling", e4);
return (null);
}
finally
{
if (conn != null)
{
conn.Dispose();
}
}
return rtfNote.ToString();
}
}
我知道這個問題有什麼做的命令,因爲註釋掉命令作品(但仍格式化RTF)。我知道導致我的問題的命令在SQL Developer中工作得很好,註釋掉的也是如此。但是當我在.NET應用程序中運行它時,我會回到「ORA-01002:無法順序讀取」。有任何想法嗎?
看看這有助於http://stackoverflow.com/questions/27862878/error-fetch-out-of- sequence-returning-table-from-oracle-function-in -c-sharp-wh – OldProgrammer