Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / (MS SQL2k)как содержимое поля типа TEXT считать в byte [] / 11 сообщений из 11, страница 1 из 1
27.10.2005, 15:53
    #33347987
leo Resh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(MS SQL2k)как содержимое поля типа TEXT считать в byte []
К сожалению, у меня существуют бинарные данные, "засунутые" в поле типа TEXT.
Каким способом можно содержимое этого поля "как есть" считать в массив байт?
...
Рейтинг: 0 / 0
27.10.2005, 15:57
    #33348011
Артем1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(MS SQL2k)как содержимое поля типа TEXT считать в byte []
SqlBinary, возвращаемый методом SqlDataReader.GetSqlBinary

Про метод
Код: plaintext
Gets the value of the specified column as a SqlBinary.
Про структуру
Код: plaintext
Represents a variable-length stream of binary data to be stored in or retrieved from a database.

Подробное описание SqlBinary есть в msdn
...
Рейтинг: 0 / 0
27.10.2005, 16:07
    #33348048
leo Resh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(MS SQL2k)как содержимое поля типа TEXT считать в byte []
Увы, на строке
...
Рейтинг: 0 / 0
27.10.2005, 16:10
    #33348059
leo Resh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(MS SQL2k)как содержимое поля типа TEXT считать в byte []
Увы, на строке
Код: plaintext
SqlBinary mySBN = myReader.GetSqlBinary(i);
Вылетает exception
Specified cast is not valid
...
Рейтинг: 0 / 0
27.10.2005, 16:35
    #33348155
Артем1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(MS SQL2k)как содержимое поля типа TEXT считать в byte []
А по простому получается?
Код: plaintext
 byte[] b =  (byte[]) dr["img_data"] 
dr - datareader
...
Рейтинг: 0 / 0
27.10.2005, 16:40
    #33348172
leo Resh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(MS SQL2k)как содержимое поля типа TEXT считать в byte []
Аналогичный exception.
...
Рейтинг: 0 / 0
27.10.2005, 16:45
    #33348182
Артем1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(MS SQL2k)как содержимое поля типа TEXT считать в byte []
leo ReshАналогичный exception.

Там в поле не Null случаем?
...
Рейтинг: 0 / 0
27.10.2005, 16:51
    #33348213
Артем1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(MS SQL2k)как содержимое поля типа TEXT считать в byte []
Извиняюсь, сразу не посмотрел. Так я извлекаю поля типа image. С text-ом надо попробовать. Возможно, можно прочитать просто как GetString ? А потом уже в массив байтов?
...
Рейтинг: 0 / 0
27.10.2005, 17:00
    #33348252
leo Resh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(MS SQL2k)как содержимое поля типа TEXT считать в byte []
Дело в том, что GetString как и GetChars по ходу дела преобразует содержимое в Unicode, в этом-то и проблема.
Если посмотреть результат запроса:
Код: plaintext
1.
2.
3.
select 
convert(varbinary( 100 ),substring(myDamnedTextField, 1 , 100 ))
from ....
и сравнить увиденное с тем, что показывает отладчик в результате GetString (или GetChars), то разница заметна очень сильно...
...
Рейтинг: 0 / 0
28.10.2005, 08:12
    #33349048
Артем1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(MS SQL2k)как содержимое поля типа TEXT считать в byte []
Попробовал сегодня. Кроме как приводя конвертом к варбинари в запросе не получается. Так что видимо только так, ИМХО.
...
Рейтинг: 0 / 0
01.11.2005, 12:52
    #33355039
leo Resh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(MS SQL2k)как содержимое поля типа TEXT считать в byte []
Оказалось - весьма просто:
Код: plaintext
1.
2.
3.
myReader.Read();
System.Data.SqlTypes.SqlString mySS = myReader.GetSqlString( 0 );
byte [] resArr = mySS.GetNonUnicodeBytes();
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / (MS SQL2k)как содержимое поля типа TEXT считать в byte [] / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]