|
Структура таблицы Config | ☑ | ||
|---|---|---|---|---|
|
0
Hadgehogs
12.12.07
✎
13:16
|
Здравствуйте.
Вопрос теоретический, кто знает - ответьте. Собственна сама таблица как я понял, хранит конфу. Так вот, у меня в Типовой бухгалтерии таблица содержит множество записей, в поле "FileName" которых содержится GUID. А в начале списка 3 записи "Metadata", "Version", "Versions". Можете объяснить, что где храниться? |
|||
|
1
MMF
12.12.07
✎
13:28
|
(0) в "Metadata" - метаданные, в "Version" - версия, в "Versions" - версии
|
|||
|
2
Hadgehogs
12.12.07
✎
13:36
|
Ок, запись Metadata, поле DataSize имеет значение 1065306, для Бухии маловато будет.
И еще такой вопрос - в поле BinaryData судя по всему хранится ссылка. Как получить данные по этой ссылке? И последний - кроме этих 3- х записей есть еще множество других, в "FileName" которых - строковые GUID-ы. Это описания объектов конфигурации (Справочники.Номенклатура, и.т.д.)? |
|||
|
3
MMF
12.12.07
✎
13:42
|
(2) зип без заголовка. Идея про ссылку - это сурово
|
|||
|
4
Hadgehogs
12.12.07
✎
14:25
|
<<зип без заголовка>> - что это?
Прочитал, что в поле Image (BinaryData) можно хранить текст (сырые двоичные данные конфы 1С, в нашем случае). Ок. Тогда вопрос - почему длина поля Image - 16 байт? Сам даю себе ответ: - это ссылка на какую - либо таблицу. Почему я даю себе такой ответ? Размер - 16 байт - размер GUID. В соседнем поле - длина хранимых по ссылке данных (поле DataSize). Прохожу к Дельфийскому аналогу (связка DataSize+BinaryData)=>> String[255] Только длина связки адресуется 4 байтами, а не одним, как в Дельфи... Где я не прав? |
|||
|
5
MMF
12.12.07
✎
15:00
|
(4) не надо давать себе ответы, читай буквари, тобишь BOL. В некотором смысле содержимое Image это действительно ссылка на корневой узел дерева указателей карты страниц хранения этого блоба. Только это тебе нахрен не нужно, а раз уж ты пишешь, что дельфи-программер, то инстинктивно должен был изваять извлекатель этих данных
var Blob: TStream; fs : TFileStream; begin Query1.Close; Query1.SQL.Text:= 'select binarydata from config where filename=''metadata'''; Query1.Open; Blob := Query1.CreateBlobStream(Query1.Fields[0], bmRead); try Blob.Seek(0, soFromBeginning); fs := TFileStream.Create('c:\metadata', fmCreate or fmShareExclusive); try fs.CopyFrom(Blob, Blob.Size); finally fs.Free; end; finally Blob.Free; end; По поводу зипа без заголовока - курить Zlib, она общедоступна |
|||
|
6
Hadgehogs
12.12.07
✎
17:40
|
Спасибо
|
|||
|
7
Ferz
12.12.07
✎
17:51
|
а вообще есть примеры работы с этой таблицей ну и собственно данными.. тебе для чего?
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |