Oraclebinary: чтение данных в C # .NET - PullRequest
1 голос
/ 27 апреля 2011

Я пытаюсь прочитать некоторые двоичные данные из Oracle, используя пространство имен System.Data.OracleClient в C # .NET.

Как преобразовать данные из значения класса OracleBinary в целое число?

            OracleConnection conn = new OracleConnection("Data Source=database;User Id=me;Password=me;");
            OracleCommand cmd = new OracleCommand("Select * From SomeData.TableName WHERE vid = 4527", conn);
            conn.Open();

            OracleDataReader reader = cmd.ExecuteReader();
            try
            {
                while (reader.Read())
                {
                    OracleBinary obj = reader.GetOracleBinary(5);
                    // here....
                }
            }
            finally 
            {
                reader.Close();
            }

            cmd.Dispose();

            conn.Close();
            conn.Dispose();

В документации к этой базе данных определение столбцов гласит, что тип данных LONG RAW и «Значения, хранящиеся в формате двоичного большого объекта (BLOB)».

Я ожидал некоторых целых чисел (отрицательных и положительных) от BLOB.

не уверен, что кто-то может помочь, так как я больше не могу просить администратора (перенесено). Если бы кто-нибудь мог указать мне направление, я был бы очень признателен.

РЕДАКТИРОВАТЬ: Просто чтобы расширить (я пропустил немного информации) о том, что содержит BLOB-объект:

Вектор значений логарифмического положения, так что первый элемент является первым измеренным значением глубины, второй элемент является первым истинным вертикальным значением глубины, третий элемент является первым смещением x, четвертый является первым y смещение, пятая - вторая измеренная глубина

Большое спасибо Rob

1 Ответ

1 голос
/ 27 апреля 2011

Как преобразовать данные из значения класса OracleBinary в целое число?

Вот оно:

OracleBinary obj = reader.GetOracleBinary(5);
byte[] bytes = obj.Value;
int value = BitConverter.ToInt32(bytes);

Но вы уверены, что это то, что выдействительно хочу?Целочисленные значения обычно не сохраняются в BLOB-объектах ... BLOB-объекты предназначены для хранения произвольных двоичных данных, например изображения.

...