:: Visual Foxpro, Foxpro for DOS
Re: VFP8+Оракл10+Картинки
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
А чем плохи преобразования на стороне Оракла?
А если без преобразований Оракла, то действительно получается поле General ?

Сделай эксперимент
CREATE CURSOR aaa (pic GENERAL)
и запиши туда что-нибудь (картинку), и посмотри как с ним работать...
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
Божья_коровка
Автор

Сообщений: 25731
Дата регистрации: 23.08.2001
of63
А чем плохи преобразования на стороне Оракла?
ИК, же всё расписал, что проблемы могут быть с конвертацией кодовых страниц или ты не читаешь, что пишут другие?

Igor Korolyov
НО CLOB это "текстовый" тип, и потому байтики в нём подвержены преобразованиям связанным с конвертацией кодовых страниц. Ну точно так же как и в фоксе - если CPCURRENT не совпадает с CPDBF

of63
А если без преобразований Оракла, то действительно получается поле General ?
Да Оффа, действительно Без приведения типов, я на клиенте получаю поле в курсоре типа General.


------------------
Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается...




Исправлено 1 раз(а). Последнее : Божья_коровка, 20.11.18 16:54
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
А на стороне Оракла нельзя преобразовать BLOB в Base64? Тогда на стороне фокса получится тип Memo (может быть), тогда ты его разбасишь фоксом и получишь исходный бинарный... А что за clob ? как он "преобразует" ?

Кстати, посмотрел на general
CREATE CURSOR aaa (pic G)
APPEND BLANK
m.f = GETFILE("jpg")
APPEND GENERAL pic FROM (m.f)
BROWSE
COPY TO c:\tmp\aaa

Как доставать бинарную часть из Genaral я не знаю, но если хакнуть файл aaa.dbf (подменить тип поля G на тип M), то можно хотя бы посмотреть устройство. Оказалось, что бинарная часть лежит неизменной в Memo, но есть заголовок 190 байт (там какая-то структура, содержит VFP Package, имя файла...), и хвост (тоже структура, читаемые тексты с именем файла). Щас почитаю... А ИК сказал, как из General достать исходный бинарник?



Исправлено 1 раз(а). Последнее : of63, 20.11.18 17:21
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
Божья_коровка
Автор

Сообщений: 25731
Дата регистрации: 23.08.2001
of63
А ИК сказал, как из General достать исходный бинарник?
В этой теме ИК ничего не говорил по этому поводу Но ранее в других темах он писал про тот же хак про который написал и ты. Поэтому я и спрашивала, кроме насильственной подмены G на M другого способа нет?

of63
А что за clob ?
Clob, это текстовое поле, ну по аналогу Memo в фоксе, и после преобразования типов я на клиента получаю простое Memo.

Цитата:
CLOB — большой символьный объект. Переменная этого типа содержит локатор LOB, указывающий на хранящийся в базе данных большой блок текстовых данных в наборе символов базы данных.


------------------
Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается...
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
А что толку от замены Г на М, мы же не знаем устройства поля Г, может там бывает не 190 байт заголовка, а больше/меньше. Надо знать структуру Г.

> Clob, это текстовое поле, ну по аналогу Memo в фоксе, и после преобразования типов я на клиента получаю простое Memo.
Вот тут пишут www.delphimaster.net что Оракл умеет забасивать...
"" Как наиболее бысто используя Utl_encode.base64_encode перевести BLOB в CLOB

() За цитату про CLOB спасибо, ценная для меня информация

Доб. www.sql.ru
Тут пишут, что забасиватель в Оракле какой-то хилый (на 2К байтов... или 32К...)
qaru.site

Похоже, проще, чем хакнуть бинарник из поля general, нету пути...
А, может, договоришься со базовиками, и будете хранить картинку в Base64 в clob-е ? Но тогда все другие пользователи БД должны так же забасивать/разбасивать... Но это обычно не реально, и это всего лишь изза драйвера+фокса, с этим генералом )



Исправлено 3 раз(а). Последнее : of63, 20.11.18 18:18
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Божья_коровка
Насильно превращать в Мемо, других вариантов как я понимаю нет?
Да, менять тип в заголовке dbf (для чего таки курсор надо сохранит как dbf пусть и в TEMP папку). Ну или, если это всегда тупо 1 запись, низкоуровнево считать из fpt - оно всегда в одном и том же месте будет.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
of63
А что толку от замены Г на М, мы же не знаем устройства поля Г, может там бывает не 190 байт заголовка, а больше/меньше. Надо знать структуру Г.
Не надо, поскольку никаких General в оракле отродясь не было - и посылает он в чистом виде бинарные данные - безо всяких заголовков и хвостов. Это фокс, т.к. дюже древний и никаких бинарных типов не имеет, помечает эти данные как general.
Кстати, в зависимости от типа данных (не только картинки можно в general помещать) там всё может быть гораздо веселее - и не 190 байт заголовка, и ещё и преобразовываться может собственно "содержимое". При том даже безо всяких ораклов, чисто на dbf-ах, то что записано на одной машине на раз может не читаться на другой - там ещё и инфа про COM-сервер обрабатывающий "документы" такого типа прописывается, а таковые ком-сервера могут быть самыми разными - где-то Paint а где-то фотошоп, и приплыли Мёртвая примочка эти General-ы, и таковой и была изначально... Тупое подражание раннему MSOffice, где внутрь ворда можно было "вставить" эксель и наоборот.
of63
А, может, договоришься со базовиками, и будете хранить картинку в Base64 в clob-е ? Но тогда все другие пользователи БД должны так же забасивать/разбасивать...
Ещё и раздувание размера достаточно приличное...
of63
Но это обычно не реально, и это всего лишь изза драйвера+фокса, с этим генералом )
Да, при том что в 9-м фоксе проблема в общем то решена. Ну да если клиент привязан к 8-му, то разрабу чутка геморроя таки перепадёт.
Конечно если поставить какой Oracle Objects For OLE, или даже просто через ADO вынимать эти данные, то в принципе "хакать" ничего не надо - просто уж очень это всё тяжело (ещё и в плане установки да настройки компонент полноценного оракл-клиента) и многословно по сравнению с казалось бы таким близким и простым SQLEXEC(..,"SELECT MyPicture FROM ...")


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
(ИК - наш человек, надеюсь, наверное, претендуют и другие сайты, вероятно, на него, но Игорь не бросает нас, почему-то...)

Как всегда, ИК нас не бросил. Лена... ЛЕНА... Лена спит конечно

Игорь, как всегда, сказал неизвестное, отчасти. Добра тебе.

Доб. Вот она, вначале, получила картинку (файл, открытый в пайбраше?), с этим преобразованием BLOB в CLOB, вот по этому пути ей надо идти... научиться не "конвертировать" таблицы, с драйвером, мтк ...


Странно, что в БЛОБ Оракла никто еще до Лены не сохранял бинарные данные, и не получал их обратно. Это странно )



Исправлено 4 раз(а). Последнее : of63, 21.11.18 00:44
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
of63
Странно, что в БЛОБ Оракла никто еще до Лены не сохранял бинарные данные, и не получал их обратно. Это странно )
Сохраняли - всё есть в поиске.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
А обратно?! Как обратно получить в перменную? Без создания проги на стороне оракла, ... и желательно без функций встроеных Оракла?!

Доб.
> Сохраняли - всё есть в поиске.
Поиск я почитал, и мнение ботаника нашего послушал. Нет решения! Но я считаю, решение Лены - самое простое, она получила в Мемо исходный набор бит. И за это "преобразование" влоб в слоб надо зацепиться, и не давать драйверам перекодировать (или забить в смысле, что у всех винда, все такое, во все тяжкие ) )



Исправлено 1 раз(а). Последнее : of63, 21.11.18 01:56
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
Божья_коровка
Автор

Сообщений: 25731
Дата регистрации: 23.08.2001
of63
Поиск я почитал, и мнение ботаника нашего послушал.
Это Игорь Королёв - ботаник? По больше бы нам таких ботаников


------------------
Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается...
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Божья_коровка
of63
Поиск я почитал, и мнение ботаника нашего послушал.
Это Игорь Королёв - ботаник? По больше бы нам таких ботаников

Все-таки of63 в здравомыслии не откажешь.
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Не, напарника моего. Он много лет назад экспериментировал с полем Г.
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
Божья_коровка
Автор

Сообщений: 25731
Дата регистрации: 23.08.2001
of63
Не, напарника моего. Он много лет назад экспериментировал с полем Г.
Ну так расскажи чего говорит то, твой напарник?


------------------
Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается...
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Самое простое решение - не ломать мозг и взять VFP9 - он без особых телодвижений вынимает бинарные данные. Всего 1 флажок проставить в том же адаптере или SET-е.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
И где им купить легальный VFP9? Он еще продается? (риторический вопрос).

() мтк тоже давно бы тихо перейти на рантайм 9ки...
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
of63
Он еще продается

Подписываешься на VS за $1500, и качай, чего хочешь, в том числе VFP 7,8,9 А по Downgrade и FPD можешь юзать. :rux:
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
1500уе (*100руб, грубо, 0.1млн руб... а фокс того еще стОит?)

Доб. Сам уже скачал, использовал? Как впечатления? )

Где твоя первая прога (Хелло верд) на VFP9?!



Исправлено 3 раз(а). Последнее : of63, 22.11.18 21:03
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
> of63 А что толку от замены Г на М, мы же не знаем устройства поля Г, может там бывает не 190 байт заголовка, а больше/меньше. Надо знать структуру Г.
>> ИК Не надо, поскольку никаких General в оракле отродясь не было - и посылает он в чистом виде бинарные данные - безо всяких заголовков и хвостов. Это фокс, т.к. дюже древний и никаких бинарных типов не имеет, помечает эти данные как general.

Я знаю, что VFP8 её строит эту структкру даных "Генерал". Игорь, почему фокс, при чтении поля БЛОБ Оракла, "понимает", что данные (бинарный фал, сохраненный в БЛОБ Оракла) - именно типа "картинка" (по заголовку что ли JFIF... но кто, при приеме БЛОБа из Оракла, записывает обратно тип данных в заголовки в поле Генерал, что это именно картинка! а не файл вёрд, или что то еще...

Доб. Какая сцука в вфп8 делает Генерал (поле со сзанием типа данных, картинка это, иди эксель-файл), (хотя в исходнике Оракла - только бинарник, и чтобы узнать "назначение" этого бинарника (картинка, в нашем случае), фокс8 проявляет окуенный ИИ ...



Исправлено 1 раз(а). Последнее : of63, 22.11.18 22:42
Ratings: 0 negative/0 positive
Re: VFP8+Оракл10+Картинки
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
of63
Где твоя первая прога (Хелло верд) на VFP9?!

У меня на VFP 9 написан серьезный конвертер. Но без интерфейса. Просто работает *.prg [sm128]

Используются провайдеры.
Ratings: 0 negative/1 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 27 PaulWist  (Гостей: 26)

© 2000-2024 Fox Club 
Яндекс.Метрика