Проблема с чтением бинарных данных из sql в 1с #455851


#0 by Кукалёв Анатолий
Читаю бинарные данные из полей sql-ной таблицы. Почемуто после чтения поля в переменную попадает строка типа: 0xFFD8FFE000104A46494600010100000100010000FFFE002E496E74656C и т.д. Скажите что это за строка? И как ее с помощью 1С-ки в картинку конвертнуть ?
#1 by Кукалёв Анатолий
В sql тип поля image
#3 by Кукалёв Анатолий
Про двоичные данные прочел, но как преобр. эту строку в файл с помощью 1С-ки ?
#4 by kitt
ну, мне неизвестно каким образом вы получаете данные из SQL в 1С может существует способ получать данные сразу в нужном виде. Ну а вообще алгоритм примерно такой: допустим есть строка 0xFFD8FFE000104A46494600010100000100010000FFFE002E496E74656C отбрасываем указатель шеснадцетеричности "0x", затем в цикле берем два левых символа, FF = преобразуем из шеснадцетеричной системы в десятичную FF=255, записываем в файл символ с полученным кодом 255, уменьшаем обрабатываемую строку на 2 символа слева D8FFE000104A46494600010100000100010000FFFE002E496E74656C затем снова берем два левых символа D8 преобразуем из шеснадцетеричной системы в десятичную D8=216, дописываем в конец файла символ с кодом 216. И так далее, пока символны не кончаться. Это чисто для теории, наверняка есть какие нибудь более гуманные варианты. Вопрос про получении данных из SQL в 1с остается открытым.
#5 by Кукалёв Анатолий
Коннект к sql Запросом выбираем поля (у меня имя поля = A_IMG) Последовательно прочитываем каждое поле (например в переменную СтрИМГ) и ... ... и дальше нужно сохранить полученную строку в изображение
#6 by kitt
Тогда дерзайте, способ я описал
#7 by Кукалёв Анатолий
Да спс Я попробую
#8 by Кукалёв Анатолий
Только вот вопрос: а в файле в итоге получиться строка сост из 10-х значений ?! А смысл перевода ?
#9 by kitt
Нет То есть в файл попадают не десятичные цифры, и символы, коды которых равны тесятичным цифрам. Это разные вещи
#10 by Кукалёв Анатолий
Понял. Сейчас опробую
#11 by Кукалёв Анатолий
Шеснад2Дес - ?
#12 by Кукалёв Анатолий
<Код символа> (обязательный) Тип: Число. Код получаемого символа. Код задается в соответствии с кодировкой Unicode. Пример: Исходя из этого - точно функция "Символ" ?
#13 by Кукалёв Анатолий
Это в 8.1 так
#14 by kitt
Ну я это образно Функция Из_Любой_В_10(Знач Значение="0",Нотация=36) Экспорт     Если Нотация<=0 Тогда Возврат КонецЕсли;     Значение=СокрЛП(Значение);
#15 by kitt
(12,13) Да, я видимо из 7ки написал функцию
#16 by Кукалёв Анатолий
Что то не вышло ))
#17 by kitt
что именно?
#18 by Кукалёв Анатолий
Файл создает, но в jpg переименовываю он не отображает картинку
#19 by Кукалёв Анатолий
По моему проблема в ф-ии "Символ". В 8-ке Код задается в соответствии с кодировкой Unicode
#20 by Кукалёв Анатолий
Там в хелпе пример был: Буква_Я = Символ(1103);
#21 by Кукалёв Анатолий
откуда значение 1103 если мы максимум ff=255 ?
#22 by kitt
Это юникод. Первый 127 значений там такие же как в ASCII. Вообще 0 - 127 управляющие символы, цифры, пунктуация, латинский алфавит. Больше у тебя в двоичных данных ничего не будет
#23 by H A D G E H O G s
Мистец
#24 by asady
:) скажи спасибо что они в БЗню это не рекомендовали
#25 by kitt
в чем проблемы уважаемые?
#26 by H A D G E H O G s
Вот 2 процедуры чтения/записи картинки напрямую в SQL (из 1С)
#27 by H A D G E H O G s
НО. Мне интересно, что за значения в и как они получены?
#29 by H A D G E H O G s
Нет. Нет в символа старше F
#30 by kitt
я говорил в что есть более оптимальные способы. Но если в лоб, можно и как в , должно работать
#31 by kitt
вообще то "0x" в нам как бы намекает
#32 by Кукалёв Анатолий
Я коннектюсь так :
#33 by shuhard
[SQLDMO] перейди на ADODB см.
#34 by Кукалёв Анатолий
на RecordSet.Open(Запрос, Connection); выдает ошибку.
#35 by shuhard
udl  файлик и вперёд
#36 by Кукалёв Анатолий
а это как? в смысле как его к 1с-ке прикрутить ?
#37 by shuhard
не прикрутить, отладить строку конекта ксати было FROM        E_002 стало
#38 by H A D G E H O G s
Как минимум: 1) Не указан пользователь 2) Имя сервера не может быть (local)
#39 by Кукалёв Анатолий
Вот Я затупан ... - все поправил, все работает! Огромное спс
#40 by Кукалёв Анатолий
Сори ... всю ночь не спал практически ... 1) Пользователь - там идет аут винды 2) имя сервера как раз (local) , т.к. локально на моем буке Ошибся в запросе вместо таблицы указал БД Еще раз всем спавибо ... вопрос решен!
#41 by H A D G E H O G s
У меня под 'local' ADO отвергло мои домагательства.
#42 by Кукалёв Анатолий
local - выдает ош, а (local) - должен работать
#43 by shuhard
порнуху то с сиквела дашь посмотреть [У меня под 'local' ADO отвергло мои домагательства] могли алиасы у сиквела побиться
#44 by Кукалёв Анатолий
на счет порнухи не понял ? ))
#45 by H A D G E H O G s
Ну если ты всю ночь ковырял - значит в базе - эксклюзив.
#46 by shuhard
что,кроме порнухи можно всю ночь с сервера пытаться вытащить ?
#47 by Кукалёв Анатолий
Хаа ... Да нее ... Есть у орг. прога на делфях по сотовым ... а ее надо в 1с-ку заточить вот и разбирался.
#48 by shuhard
[Да нее ] зажал учтём
#49 by H A D G E H O G s
Значит делится не будем. Ну-ну :-)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С