|
Получить значения из COMSafeArray (SQL Lite) | ☑ | ||
---|---|---|---|---|
0
myr4ik07
06.04.17
✎
16:34
|
Есть файл базы данных sql lite.
подключился из 1с к нужной таблице базы даных, получаю выборка из таблицы, в качестве значения выборки из таблицы получаю COMSafeArray (значения знаю, что там должно быть хтмл страница в виде строки) как получить из COMSafeArray страницу хтмл в виде строки? |
|||
1
myr4ik07
06.04.17
✎
16:35
|
вот та колонка в которой хтмл страницу в виде строки http://prntscr.com/et6575
вот что в итоге 1ска получает http://prntscr.com/et65ih |
|||
2
myr4ik07
06.04.17
✎
16:51
|
массив иммет тип VT_UI1
|
|||
3
Serginio1
06.04.17
✎
17:04
|
Эх. Это массив байт.
Смотри http://forum.infostart.ru/forum9/topic39314/ |
|||
4
Неверный Параметр И
06.04.17
✎
17:13
|
SQLite умет в CAST, емнип
|
|||
5
myr4ik07
06.04.17
✎
17:22
|
(4) ?
|
|||
6
Неверный Параметр И
06.04.17
✎
18:00
|
(5) Тип поля какой, специалист?
|
|||
7
myr4ik07
06.04.17
✎
18:00
|
(3) все ровно получаю COMSafeArray
|
|||
8
myr4ik07
06.04.17
✎
18:00
|
(6) броди
|
|||
9
Serginio1
06.04.17
✎
18:04
|
(7) Ты двоичные данные сохраняешь в файл, а затем считываешь либо в двоичные данные
Файл = Новый ДвоичныеДанные(фрис); Либо открываешь через браузер либо в ПолеHTML |
|||
10
Неверный Параметр И
06.04.17
✎
18:04
|
(8) WAT?
|
|||
11
Serginio1
06.04.17
✎
18:15
|
Есть еще более короткий вариант
врап=новый COMОбъект("NetObjectToIDispatch45"); Convert=Врап.ПолучитьТип("System.Convert"); ДД=Base64Значение(Convert.ToBase64String(ТвойCOMSafeArray)); //Если например это картинка Картинка=Новый Картинка(ДД); // Или можем сохранить в файл |
|||
12
Неверный Параметр И
06.04.17
✎
18:25
|
SELECT CAST("Fields" AS "TEXT")
Но Ъ, конечно же православней, у него нет фатального недостататка. |
|||
13
МихаилМ
06.04.17
✎
18:32
|
сохраните во внутреннюю строку, подмените тип .
|
|||
14
spock
06.04.17
✎
19:41
|
Тип колонки Body какой? Там на скрине чуть-чуть db schema не видно.
|
|||
15
myr4ik07
07.04.17
✎
09:08
|
(12) (13) спасибо, как бы оно, но какой би тип не поставлял я, ве ровно получаю не весь хтмл
http://prntscr.com/etgelf |
|||
16
myr4ik07
07.04.17
✎
09:09
|
(14) body тип = VT_UI1
|
|||
17
myr4ik07
07.04.17
✎
09:10
|
(9) спасибо, да, еще так попробую, потому как мне полюбас из хтмл строки нужно сохранять в хтмл файл, что бы парсить, атас этот хтмл файл
|
|||
18
Неверный Параметр И
07.04.17
✎
09:21
|
(16) Хтмл, хранящийся в беззнаковом целом. Мммм, прелесть.
(17) >полюбас атас Ох этот звучный и мелодичный украинский язык! |
|||
19
Неверный Параметр И
07.04.17
✎
09:24
|
(15) Какой тип у sql колонки таблицы, из которой ты запрашиваешь данные?
|
|||
20
myr4ik07
07.04.17
✎
09:29
|
в прицнипы если делаю запись то
Stream = Новый COMОбъект("ADODB.Stream"); Stream.Type = 1; Stream.Open(); RecordSet = Новый COMОбъект("ADODB.RecordSet"); RecordSet.CursorLocation = 3; RecordSet.LockType = 2; RecordSet.Open(Запрос,SQLiteObject); RecordSet.MoveFirst(); Пока НЕ RecordSet.EOF Цикл Stream.Write(RecordSet.Fields("Body").Value); ИмяФайла = RecordSet.fields("Body").Name; фрис = КаталогВременныхФайлов() + ИмяФайла + ".html"; Stream.SaveToFile(фрис); ЗапуститьПриложение(фрис); КонецЦикла; Stream.Close(); RecordSet.Close(); Файл = Новый ДвоичныеДанные(фрис); УдалитьФайлы(фрис); SQLiteObject.Close(); то аналогично получаю только несколько строк хтмл страницы |
|||
21
myr4ik07
07.04.17
✎
09:30
|
(19) как узнать тип?
|
|||
22
myr4ik07
07.04.17
✎
09:33
|
||||
23
Vaflya
07.04.17
✎
09:55
|
(22) BLOB - тип для хранения двоичных данных большого объема, проблема была в обрезе данных, когда получаешь их в 1с, то есть массив тупо режется до какого то символа, через ado не получилось, слушай Serginiol, мне кажется, что без NET тут не обойтись)
|
|||
24
myr4ik07
07.04.17
✎
10:01
|
(23) что это я уже прочитал ), но решения получить данные пока не нашел
|
|||
25
myr4ik07
07.04.17
✎
10:02
|
(23) та если пример брать от (11) то ошибка при создании ком объекта
|
|||
26
Vaflya
07.04.17
✎
10:04
|
самый очевидный вариант - самописная компонента на net (своими руками создать)
(25) ИДДиспатч это и есть его самописная компонента, бесплатная, между прочим, гуглится |
|||
27
myr4ik07
07.04.17
✎
10:14
|
(26) спасибо, ищу
|
|||
28
Vaflya
07.04.17
✎
10:31
|
ну найти то ее не сложно, по "NetObjectToIDispatch45"
но как бы не факт, что там есть готовый класс по обработке блобов из хранилищ SQLite, хотя там была реализация "динамического" набора классов, то есть из 1с можно туда передавать описание класса и он там будет создан, но.. не в целях антирекламы NetObjectToIDispatch45, но по мне так проще сваять библиотеку свою родную, что бы быть в курсе, чего там происходит |
|||
29
Vaflya
07.04.17
✎
10:35
|
за день с нуля врядли разберешься, что куда, но потратив время на это один раз - потом еще пригодится, если занимаешься "Конвертацией данных" между системами. в общем, не легка и не казиста..
|
|||
30
myr4ik07
07.04.17
✎
10:36
|
(28) это замечательно, но компоненты не моя специальность
|
|||
31
myr4ik07
07.04.17
✎
10:37
|
(29) ты же знаэшь, все должно работать еще вчера, так что не вариант писать в моем случаи )
|
|||
32
Serginio1
07.04.17
✎
10:37
|
||||
33
myr4ik07
07.04.17
✎
10:40
|
(32) так и серед десятка ссылок куда там смотреть?)
|
|||
34
Vaflya
07.04.17
✎
10:40
|
(30) ух, ну закажи тогда фрилансу, специалист
(32) уже там) |
|||
35
myr4ik07
07.04.17
✎
10:43
|
(34) ну так заказую, напиши, рубля дам
|
|||
36
Vaflya
07.04.17
✎
10:44
|
(32)оттуда же http://www.1csoftware.com/dotnet/
вобще ппц, 1с завладеет миром, скоро в обычной форме лунтика рисовать будут |
|||
37
Vaflya
07.04.17
✎
10:47
|
(35) "Рубля" это до четырех, 15 это уже рублей
|
|||
38
myr4ik07
07.04.17
✎
10:49
|
(37) так ты напишешь? Договоримся
|
|||
39
myr4ik07
07.04.17
✎
10:49
|
специалист
|
|||
40
Vaflya
07.04.17
✎
10:54
|
цена устраивает?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |