powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ADO.NET BLOB не отображает правильно
37 сообщений из 37, показаны все 2 страниц
ADO.NET BLOB не отображает правильно
    #39266821
rjkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую FirebirdSql.Data.FirebirdClient.dll версии 5.0.5.0 .NET4.0 в visual studio 2010

код:

Код: c#
1.
2.
3.
4.
FbDataReader reader = SelectSQL.ExecuteReader();
...
reader.Read();
select_result = reader["INFO"].ToString();



select_result возвращает строку "System.Byte[]" для всех записей с непустым полем INFO.

В поле "INFO" типа BLOB лежит подробная информация о клиенте и она нормально отображается\читается с программы на делфи+fibPlus, firebird 2.1.4 при помощи memo компонента, а в c# в компонентах типа memo строки "System.Byte[]"

Почему не получаем значение этого поля через ADO.NET?
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39266825
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkz,

похоже, в .net содержимое блобов считывается как-то иначе.
https://msdn.microsoft.com/ru-ru/library/87z0hy49(v=vs.110).aspx
https://support.microsoft.com/ru-ru/kb/309158
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39266898
rjkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv, ну тогда выходит что компоненты от DevExpress под .NET кривые т.к. они не правильно отображают данные BLOB в своих Memo контролах но только под Firebird, под MS SQL такого не наблюдается, кроме того их компоненты под VCL прекрасно работают?
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39266899
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весь .NET - кривая поделка, ни с чем кроме MS SQL толком не работающая. Угадаешь с трёх
раз почему?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39266901
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkz,

обращайтесь к автору .net драйвера Firebird. вдруг там что не так работает. Хотя, он сам пишет на этом драйвере разные программы, было бы что не так - давно исправил бы. Впрочем, Сибиряков вам тоже объяснил.
Можете также спросить у Дениса Симонова, который примеры делал
http://www.ibase.ru/files/articles/firebird_examples/how_to_create_application_firebird_sql_entity_framework_net_example_rus.pdf
http://www.ibase.ru/files/articles/firebird_examples/how_to_create_application_firebird_sql_entity_framework_mvc_example_rus.pdf
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39266939
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkz,

всё там нормально работает, просто кто-то забыл вызвать метод Read у FbDataReader.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
        
static void Main(string[] args)
{
    FbConnectionStringBuilder connStrBuilder = new FbConnectionStringBuilder();
    connStrBuilder.Database = "localhost/3051:horses";
    connStrBuilder.UserID = "SYSDBA";
    connStrBuilder.Password = "masterkey";
    connStrBuilder.Charset = "WIN1251";
    using (FbConnection conn = new FbConnection(connStrBuilder.ToString()))
    {
        string sql = "SELECT CODE_HORSE, REMARK FROM HORSE WHERE REMARK IS NOT NULL FETCH FIRST 10 ROWS ONLY";
        conn.Open();
        FbCommand selectCommand = new FbCommand(sql, conn);
        FbDataReader reader = selectCommand.ExecuteReader();

        if (reader.HasRows)
        {
            while (reader.Read())
            {
                Console.WriteLine("{0}\t{1}", reader["CODE_HORSE"], reader["REMARK"]);
            }
        }
        else
        {
            Console.WriteLine("No rows found.");
        }
        reader.Close();

        Console.ReadLine();
    }
}



Здесь
Код: sql
1.
REMARK BLOB SUB_TYPE TEXT
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39266941
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkz,

извиняюсь не заметил, что Read таки вызван. Я не знаю как там у DevExpress, не установлен он у меня, но в консоле BLOB нормально выводятся.
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39266950
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

а с бинарными блобами ToString() как работает ?
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267369
rjkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv и Денису Симонову огромное спасибо за ссылки по документации - очень нужную работу проделали и мне как начинающему ASP.NETчику очень поможет. Видел это все по кусочкам в инете - а тут в доках все вместе!!!

Код: plaintext
1.
REMARK BLOB SUB_TYPE TEXT



Да - проверил при данном типе поля все корректно читается компонентами, но у нас в базе поля "BLOB binary" и менять тип поля на BLOB SUB_TYPE TEXT мне делфийцы не разрешили - т.к. в этом случае грид в колонку с BLOB разворачивает и показывает содержимое, в случае же с "BLOB binary" грид показывает вместо содержимого особую иконку отличающую заполненные данные от пустых значений.

Так что мне делать даже и не знаю. Должно же работать и с "BLOB binary"?
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267385
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkzДолжно же работать и с "BLOB binary"?
ToString()? Не должно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267395
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkzменять тип поля на BLOB SUB_TYPE TEXT мне делфийцы не разрешили - т.к. в этом случае грид в колонку с BLOB разворачивает и показывает содержимое, в случае же с "BLOB binary" грид показывает вместо содержимого особую иконку отличающую заполненные данные от пустых значений.Повбывавбы (ц)
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267400
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Hvlad!
You wrote on 4 июля 2016 г. 15:01:35:

Hvlad> Повбывавбы (ц)я буду участвовать! (с)

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267415
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkz,

для работы с бинарными блобами используй метод GetBytes. Тут есть примерчик. Как ты потом байты в строку будешь переводить я хз.
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267425
Guest 77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что если прямо в запросе при выборке данных закастить к типу BLOB SUB_TYPE TEXT ??
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267445
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkz,

и кстати для проверки на NULL есть метод IsDBNull
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267467
rjkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисrjkz,
для работы с бинарными блобами используй метод GetBytes. Тут есть примерчик. Как ты потом байты в строку будешь переводить я хз.

Весь вывод из BLOB и сохранение в поле с BLOB ведется при помощи компонентов от devExpress - это сделано в делфи, это я пытаюсь делать в ASP.NET. Так вот там нет никакого ручного кода, вся привязка происходит визуально - конкретно для ASP.NET - грид привязывается к SQLDataSource. В делфи такая визуальная привязка отлично работает с бинарными блобами, а вот в ASP.NET вместо значений отображается "System.Byte[]".

Косяк может быть либо в:
1. firebird ADO.NET
2. компоненты devExpress которые нормально работают с MSSQL но не хотят работать с Firebird.

???
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267477
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkz2. компоненты devExpress которые нормально работают с MSSQL но не хотят работать с Firebird.

А, может, в MS SQL просто вообще нет двоичных блобов?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267495
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Dimitry Sibiryakov!
You wrote on 4 июля 2016 г. 16:22:14:

Dimitry Sibiryakov> А, может, в MS SQL просто вообще нет двоичных блобов?..
In Transact-SQL, a BLOB is stored in an image column.
Sometimes the term BLOB is also applied to large character data values, such as those stored in text or ntext columns.

зы: это "за царя Гороха" так было. как сейчас - х.з.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267510
rjkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Guest 77А что если прямо в запросе при выборке данных закастить к типу BLOB SUB_TYPE TEXT ??
Пытался c CAST - но не получилось. Пример конкретный можешь привести?

Код: java
1.
SELECT cast("INFO" as ???) "INFO" FROM "S_KLIENT"
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267520
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkz,

ну вот пример, работает нормально, правда там подтип 2, а не 0.

Код: sql
1.
2.
SELECT CAST(RDB$PROCEDURE_BLR AS BLOB SUB_TYPE TEXT) AS TXT
FROM RDB$PROCEDURES P
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267529
rjkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267536
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkz,

потому что построители запросов это зло. Под FB его никто не затачивал. Привыкай без мышетыкания программировать
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267538
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkz,

и таки это не удивительно. Способ поможет только для извлечения данных, но не для редактирования. А вообще выдернуть бы руки тому кто текст засовывает в бинарный БЛОБ.
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267542
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkzКосяк может быть либо в:
1. firebird ADO.NET


если ты считаешь что там косяк пиши об этом в трекере
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267545
rjkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис, я построителями никогда и не пользуюсь - просто в студии (2010) вроде это как единственное место откуда запрос можно запустить? А для UPDATE нельзя разве тоже CAST использовать? С этим AS я на днях долбался целый час - или на CAST ругается или на AS.
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267548
rjkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов ДенисrjkzКосяк может быть либо в:
1. firebird ADO.NET


если ты считаешь что там косяк пиши об этом в трекере

Писать там и ждать не вариант - начальство дало срок до конца недели, а там - firebird под нож, я остался один которому жалко птичку резать. Предложил вариант - два поля INDO - один для делфи, другой для ASP.NET и синхронизация триггером - ржут :)
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267553
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Rjkz!
You wrote on 4 июля 2016 г. 17:15:47:

Rjkz> я построителями никогда и не пользуюсь - просто в студии (2010) вроде это как единственное место откуда запрос можно запустить
оййй, йооооо...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267566
rjkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну нашел другое место откуда запрос можно запустить - та же ошибка - ругается на AS ???
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267567
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkz,

проще сделать вьюху с триггерами которые преобразовывают БЛОБЫ, хотя изврат конечно.
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267570
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkzя остался один которому жалко птичку резать
Эмоции бесполезны. Объективно: у вас нет специалистов по Firebird, нет инфраструктуры под
неё. В таких условиях цепляться за неё - глупо. Раз есть и специалисты и инфраструктура
под MS SQL - следует использовать его.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267574
rjkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал в IBEXPERT - запрос с преобразованием BLOB в нем работает, выходит что в Firebird ADO.NET не поддерживается данный тип BLOB или же не знает что такое CAST. Дааа... печаль.
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267575
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Dimitry Sibiryakov!
You wrote on 4 июля 2016 г. 17:38:27:

Dimitry Sibiryakov> Объективно: у вас нет специалистов по Firebird, нет инфраструктуры под
> неё. В таких условиях цепляться за неё - глупо. Раз есть и специалисты и инфраструктура
> под MS SQL - следует использовать его.+1

зы: мотивация автора непонятна
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267576
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Rjkz!
You wrote on 4 июля 2016 г. 17:39:30:

Rjkz> ааа... печаль.а наверное это таки тролль тупорылый...

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267584
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rjkz,

неа. Скорее всего это в .NET обобщённый парсер запросов не знает. Я думаю что в то место, куда ты пытаешься запихнуть свой собственный запрос, любой CAST не пролезет, и не только в Firebird. Просто шибко умный .NET пытается по твоему запросу сгенерировать другие запросы INSERT/UPDATE/DELETE, а с CAST у него ничего не выходит.

Попробуй написать свой запрос и присвоить его свойству, а не в редакторе DataSet.
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267595
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Симонов Денис!
You wrote on 4 июля 2016 г. 18:04:18:

Симонов Денис> шибко умный .NET пытается по твоему запросу сгенерировать другие запросы INSERT/UPDATE/DELETE, а с CAST у него ничего не выходит.
оййй йооооо...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39267601
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

ну на самом деле под ADO.NET вполне можно программировать использовав пару стаканов, лом и кувалду
...
Рейтинг: 0 / 0
ADO.NET BLOB не отображает правильно
    #39269938
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисну на самом деле под ADO.NET вполне можно программировать использовав пару стаканов, лом и
кувалду

Я вижу ситуацию так:
Вариант 1: проект счастливо использует Delphi + Firebird, но автор донкихотствует, пытаясь
внедрить в эту картину .NET.
Вариант 2: проект счастливо использует .NET + MS SQL, но автор донкихотствует, пытаясь
внедрить в эту картину Firebird.

У обоих случаях, у него с собой нет не то что кувалды, но и вместо меча - исключительно
зубочистка.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
37 сообщений из 37, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ADO.NET BLOB не отображает правильно
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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