Я пытаюсь вытащить данные из длинного необработанного поля в базу данных оракула 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 содержит некоторые данные изображения. Любые советы приветствуются.
GetByte
используется для извлечения одного байта из числового столбца.
Вместо этого вы хотите GetBytes
. Вероятно, вы также должны прочитать документацию для получения "ДОЛГОВЫХ и ДОЛГОВЫХ RAW-данных".
(В стороне, надеюсь, у вас действительно нет пустого блока catch, и ваш код будет более идиоматичным, если вы использовали camelCase для своих локальных имен переменных и превзошли скобки для try
и catch
, как и для блока while
.)