28.07.2009, 12:04 | #1 |
Модератор
|
Вопрос о таблицы CompanyImage
В таблице \Data Dictionary\Tables\CompanyImage есть поле Image
EDT у него Bitmap. В БД на SQL Server у этого поля тип image Цитата:
CREATE TABLE [dbo].[COMPANYIMAGE](
[REFTABLEID] [int] NOT NULL, [REFRECID] [int] NOT NULL, [IMAGE] [image] NULL, [HASIMAGE] [int] NOT NULL, [REFCOMPANYID] [varchar](3) NOT NULL, [DATAAREAID] [varchar](3) NOT NULL, [RECID] [int] NOT NULL, [RECVERSION] [int] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] Фото были добавлены в : Расчет с персоналом\Карточка сотрудника\ кнопка Резюме\ кнопка Фотография. Тема из инета https://community.dynamics.com/blogs...nts/18166.aspx намекает, что в поле image фотка запакована. Похоже проблема в том, что Axapta хранит изображения в компрессированном виде. Компрессию можно отключить? Или как можно средствами SQL Server ее распаковать? P.S. По первым 10 байтам можно определить тип картинки. На данный момент с этим сложности. |
|
28.07.2009, 12:17 | #2 |
Сам.AX
|
А в чем идея? Чтобы фотки из AX были доступны через SQL другой СУБД?
|
|
28.07.2009, 12:24 | #3 |
Модератор
|
|
|
28.07.2009, 12:45 | #4 |
Сам.AX
|
Я не совсем в курсе насчет упаковки. Попробовал открыть в SQL поле image там присутствуют шеснадцетиричные данные. Чем посмотреть? Назнаю.
|
|
28.07.2009, 13:34 | #5 |
Модератор
|
Ситуация немного прояснилась. Картинка не сжимается, но дописываются несколько байт в начале и в конце.
1) Посмотрел более внимательно содержимое в image. 2) Посмотрел в WinHex как выглядит картинка: 3) Попробывал создать новый файл в WinHex и набрать там ту строку 16-ных кодов, что вижу в поле image 0x072B69130000FFD8FFE000104A46494600010200006400640000FFEC001144756….. 4) Отклонение в байтах = 6. Что то служебное оно добавляет. На счет конца содержимого в поле image Имеем набор байтов ….C5F8BFCDD2D994DF33D4FE4EFF3F8F7AFFFD9FF Окончание показывает отличие в FF P.S. Теперь ясно с каким смещением по байтам определять тип картинки. Может кто еще что добавит? |
|
28.07.2009, 14:16 | #6 |
Участник
|
Картинка хранится в поле типа container
поэтому 0х07 вначале и FF вконце. После 0х07 идет еще информация о типе хранимом - 2В, наксколько я понимаю (у меня нет возможности сейчас проверить) Кстати, получение картинок/файлов уже обсуждалось ранее - сообщение от AndyD ищите с описанием хранимого формата для контейнеров |
|
|
За это сообщение автора поблагодарили: belugin (2). |
28.07.2009, 21:01 | #7 |
Участник
|
Axapta и BLOB поля
Еще было более подробное описание на infostore, но оно, к сожалению, сейчас недоступно |
|
29.07.2009, 13:19 | #8 |
Модератор
|
Цитата:
Сообщение от kashperuk
Картинка хранится в поле типа container
поэтому 0х07 вначале и FF вконце. После 0х07 идет еще информация о типе хранимом - 2В, наксколько я понимаю (у меня нет возможности сейчас проверить) Кстати, получение картинок/файлов уже обсуждалось ранее - сообщение от AndyD ищите с описанием хранимого формата для контейнеров Собственной вопрос уже решен на счет картинки. P.S. Спасибо за линку на тему Axapta и BLOB поля |
|