从oracle db中检索LONG RAW中的字节数组

时间:2011-11-04 19:45:17

标签: c# oracle oracle11g

我正在尝试从oracle 11g数据库中的长原始字段中提取数据。但是,当我尝试时,我一直得到“指定演员阵容无效”:

cmd.InitialLONGFetchSize = 1000000;
cmd.AddRowid = true;
byte[] PicTempArray = new Byte[1024];
Oracle.DataAccess.Client.OracleDataReader Reader = cmd.ExecuteReader();

int i = 0;
while (Reader.Read())
{
   try
      {
      PicTempArray[i] = Reader.GetByte(0);
      }
   catch
      {
      }
   i++;
}

如果我做了一些错误的话,我不会感到惊讶。如果你没猜到LONG RAW持有一些图像数据。任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:3)

GetByte用于从数字列中检索单个字节。

您想要GetBytes。您可能还应该阅读documentation获取“获取长期和长期数据”。

(顺便说一下,我希望你真的没有空的catch块 - 如果你使用camelCase作为你的本地变量名你的代码会更加惯用,并缩小大括号trycatch块,与while块一样。)

相关问题