|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Умеется удаленная база с картинками, к которой идет обращение по линку. Написана функция, которая берет поле и с помощью pipe row конвертирует в Blob. Впоследствии сохраняется в таблице в моей схеме. Возникла проблема. Фото в Longe, больше 32к режутся. И передаются частично, в результате чего, картинка сохраняется наполовину (либо совсем все серое) Как нормально конвертировать из raw long в blob без потери части изображения? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2021, 10:29 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
TO_LOB() пробовали? кстати, удалённая база - Oracle или что-то другое? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2021, 10:51 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
WНаталья, нормально, это to_lob , но учтите, что это sql ddl функция ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2021, 10:54 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
WНаталья, а зачем плодите темы ? понял, пересдача авторспасибо, на одна из пунктов лаборототной работы состоит в том, чтобы взять удаленную таблицу и скопировать в локальную базу без ошибок. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2021, 11:02 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
123йй, ну тему можно закрыть, вопрос с конвертацией, а чем говорит заголовок , решен. Вопрос с урезкой фото остается открытым. Нет, не пересдача. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2021, 16:47 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
qlost, вторая - FIreBird ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2021, 16:49 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
на этом форуме есть ветка FireBird, в которой постоянно присутствуют его разработчики. Думаю, вам туда. И гуглить про драйвер связи оракл->firebird. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2021, 18:52 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
qlostна этом форуме есть ветка FireBird, в которой постоянно присутствуют его разработчики. Думаю, вам туда. Нет, там никак не помогут изменить тот факт, что оракуловский HS интерпретирует ODBC тип LONGVARBINARY как LONG вместо BLOB. В этой ветке тоже не помогут. Тут надо реквест непосредственно в корпорацию Оракул посылать чтобы исправили наконец это дерьмо мамонта. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2021, 19:00 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov реквест непосредственно в корпорацию Оракул Я хоть и не пробовал, но подозреваю, что это сродни письму в спортлото. Надо методом научного подтыкивания найти подходящую пару типов в обеих БД, чтоб в итоге заиметь устраивающий результат. Увы, не пользуюсь Firebird-ом уже более 12 лет, подсказать не смогу. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2021, 21:21 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Самым простым способом решения проблемы в данном случае будет исключить из картины Оракул и работать с удалённой базой непосредственно, без использования линков. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2021, 23:13 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, это к сожалению невозможно. Никаких правок в удаленную БД я не могу сделать. Поэтому и хочу создаю копию таблицы локально. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2021, 02:09 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Может, не линк, а экспорт/импорт, пусть и регулярный? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2021, 08:28 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
dmdmdm, не совсем понимаю. Можно пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2021, 10:04 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
WНаталья, Джаву не предлагать? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2021, 10:16 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
WНатальяэто к сожалению невозможно. Никаких правок в удаленную БД я не могу сделать. Для работы SELECT никакие правки не нужны. И таки всегда возможно установить Firebird локально, это не требует огромного бюджета. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2021, 13:55 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Можно пример? Экспорт по расписанию из базы-источника. Содержание экспорта определяете сами из потребностей бизнес-логики - только новые данные, новые + изменившиеся + удаленные + ... Импорт по расписанию в БД-приемник. На обоих этапах любой контроль/преобразование данных. По сути, это обход механизма dblink, из-за того, что существующие возможности HS вас не устраивают. Но в 99% случаев задачу можно решить, разобравшись в HS и адаптировав передаваемые данные. На Java, как уже советовали, можно черта лысого написать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2021, 16:15 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
env, можно попробовать ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2021, 16:30 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
А для чего нужен дблинк? Ведь куда проще и без сабжевого геморроя можно просто подключаться к 2 базам сразу из клиентской программы. И доставать из одной, а затем укладывать в другую. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2021, 21:26 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
WНаталья, а что, если для загрузки BLOB'a из Firebird'a воспользоваться 1) его нарезкой на кусочки, 2) их последующим скачиванием и 3) склейкой в оракловский BLOB ??? Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 17:32 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Правильный Вася, А что, хорошая мысль, прогнать весь объём накопленных лобов через клиента! Дважды. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 17:41 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Нет, там никак не помогут изменить тот факт, что оракуловский HS интерпретирует ODBC тип LONGVARBINARY как LONG вместо BLOB. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 17:55 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
envпрогнать весь объём накопленных лобов через клиента! Дважды. Зачем весь-то? Аффтарша что, каждую фотографию редактировать собралась?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 18:31 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
env, 1. где у автора сказано обо всём объёме накопленных LOB'ов? 2. даже если это так, то один раз не страшно (тем паче что дблинк по сути тоже "клиент"), ведь прогу можно положить рядом с одним из серверов, если уж присутствуют сетевые сложности ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2021, 18:36 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Правильный Вася, так исторически сложилось, и я не в силах что-то здесь меня. Поставлена задача - вытянуть фото с удаленного сервера. Надо сделать =) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 08:51 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
WНатальяоставлена задача - вытянуть фото с удаленного сервера. Куда? На экран приложения? Так и вытягивайте с удалённого сервера, Оракул-то тут зачем? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 13:47 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
xtender, нет, так как получаю ошибку "illegal use of LONG datatype" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 15:08 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, картинки будут использоваться с дальнейших запросах ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 15:10 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
where цвет пятого пикселя восьмого ряда = зелёный? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 15:11 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
WНатальякартинки будут использоваться с дальнейших запросах "Чо?" (с) Что (кроме окостенелости мозга) мешает Вам использовать картинки в запросах к оригинальной базе вместо оракуловской копии? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 15:23 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
WНаталья, просто процитирую себя, вдруг пропустили мой пост Кроик Семён WНаталья, а что, если для загрузки BLOB'a из Firebird'a воспользоваться 1) его нарезкой на кусочки, 2) их последующим скачиванием и 3) склейкой в оракловский BLOB ??? Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 17:37 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, 1. там где бд на FB, используется чуть ли не телефонное подключение к интернету. У меня обычный запрос на выборку 20 записей выполняется около 10 минут. 2. картинки нужны в локальной БД, запросы для поддержки будут выполняться именно к ней. Так как id фото связывает кучу дополнительных таблиц, их которых нужна инфа. И дополнительно добавлять коннект еще у супер медленной БД из приложения + коннект к локальной.... а если еще какой-нибудь inner join сделать приедаться... то можно смело пойти на пару выходных, пока запрос выполнится..... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 13:01 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Кроик Семён, я попробую , но в FB не BLOB, а long raw и в большинстве случаев я получаю ошибку "illegal long raw" ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 13:04 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
WНаталья1. там где бд на FB, используется чуть ли не телефонное подключение к интернету. У меня обычный запрос на выборку 20 записей выполняется около 10 минут. Во-первых, это значит, что Вы его выполняете очень криво. Во-вторых, всегда можно поставить локальное зеркало. WНаталья2. картинки нужны в локальной БД, запросы для поддержки будут выполняться именно к ней. И, внезапно, эта БД тоже может быть Firebird, а не Oracle. WНатальяно в FB не BLOB, а long raw В FB нет типа long raw, не надо бредить. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 13:19 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, 1.есть уже куча таблиц в оракр, Вы предлагаете мне перенести их в другую БД? сомнительное решение. Фото, исторически так сложилось, заливается в другую бд, за 100500 км от меня, и единственное, что меня с ней связывает это линк. Все. Кроме выборки я ничего не могу сделать. Только недавно я научилась запросы простые писать, c зеркалом сходу будет трудно разобраться. Что может быть "кривого" в запросе select pers_id, foto from бд123@"трататтам.линк.имясервера.домен" where rownum<20 2. Если я создаю представление, то тип данных поля с фото интерпретируется как raw long. Не как Blob. Я поняла, что косяк самого механизма hdodb, который так интерпретирует этот тип. B режет его при копированные, так как размер raw long в оракле ограничен. пс. Вроде бы нормально попросила совета или помощи на форуме, а в ответах либо тролят, либо тупой назовут. ;( ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 14:44 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
WНаталья1.есть уже куча таблиц в оракр, Вы предлагаете мне перенести их в другую БД? сомнительное решение. Да, это делается в пару кликов. WНатальяЧто может быть "кривого" в запросе select pers_id, foto from бд123@"трататтам.линк.имясервера.домен" where rownum<20 Всё. Абсолютно всё. От того как он написан до того как он исполняется. Внезапно, но он выбирает с удалённого сервера ВСЮ таблицу, а не 20 записей. WНатальяЯ поняла, что косяк самого механизма hdodb, который так интерпретирует этот тип. Да. И именно поэтому единственным правильным решением будет не использовать его. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 14:55 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Внезапно, но он выбирает с удалённого сервера ВСЮ таблицу, а не 20 записей. Разве тут не сработает ограничение по лимиту фетча? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 14:59 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
1. Хорошо, а как сделать так, чтобы запрос перестал быть "кривым?" есть такие-то best practices? 2. Я так понимаю, что лучше написать приложение, которое будет брать фото из удаленной бд, а потом копировать его в оракуловскую? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 15:01 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Кроик Семён, что я не правильно делаю? обрезка на стороне FB? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 15:15 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
envРазве тут не сработает ограничение по лимиту фетча? Может сработает может нет, надо фактический план смотреть. Оно работает на стороне Оракула, стало быть сколько записей обработает и отдаст перед его срабатыванием удалённый сервер зависит от погоды на Марсе. WНаталья1. Хорошо, а как сделать так, чтобы запрос перестал быть "кривым?" есть такие-то best practices? Как минимум - спросить у постановщика задач "что это за задача такая, получить именно 20 каких-то фотографий", поскольку в практическом плане этот запрос бессмыслен. Когда выкристаллизуется задача - использовать Passthrough SQL чтобы иметь точный контроль над запросом, уходящим на удалённую сторону. WНаталья2. Я так понимаю, что лучше написать приложение, которое будет брать фото из удаленной бд, а потом копировать его в оракуловскую? Именно это вам в этом топике уже сказали три или четыре раза. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 15:21 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
WНаталья что я не правильно делаю? Синтаксис FB не работает в парсере оракла. Можно DBMS_HS_PASSTHROUGH использовать для применения нативного синтаксиса. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 15:36 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
WНаталья, оракля настойчиво советует отказаться от long, предлагает для миграции использовать to_lob но You cannot use TO_LOB with a remote table. For example, the following statements will not work ... INSERT INTO tb1 (lob_col) SELECT TO_LOB(long_col) FROM tb2@dblink; и видать неспроста а у вас удаленная и еще и не оракля ps самое простое прогой прочитать картинку не через линк, и если надо записать в blob локалки pss глянуть в сторону DBMS_SQL.COLUMN_VALUE_LONG ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2021, 15:41 |
|
Проблема при передаче конвертации поля Long в Blob
|
|||
---|---|---|---|
#18+
Stax, уже пробовала to_lob. Не работает. Спасибо, да, придется писать сторонне приложение. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2021, 10:46 |
|
|
start [/forum/topic.php?all=1&fid=52&tid=1880486]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
others: | 261ms |
total: | 437ms |
0 / 0 |