powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / BLOB
7 сообщений из 7, страница 1 из 1
BLOB
    #33892880
PsiFactor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, господа.
Вот назрел один вопрос. Можно ли получить BLOB поле в кашу из сторонней БД. Пример: есть некая таблица в оракле, необходимо из каши получать доступ к полю типа BLOB это таблице??
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
BLOB
    #38584911
Ower
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поддерживаю вопрос.

Настроили SQL Gateway, т.е. JDBC-подключение из Каши в Оракл.
Далее воспользовались Link Table Wizard (Мастером связывания таблицы), чтобы создать класс на основе оракловой таблицы, содержащей поле типа BLOB.
Однако вопреки ожиданиям свойство класса, соответствующее BLOB-полю в оракловой таблице, получило тип не %GlobalBinaryStream, а %String.

Вопрос, если SQL Gateway не способен работать с BLOBами, какие есть альтернативы?
...
Рейтинг: 0 / 0
BLOB
    #38585055
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OwerОднако вопреки ожиданиям свойство класса, соответствующее BLOB-полю в оракловой таблице, получило тип не %GlobalBinaryStream, а %String.Oracle Database 10g Express Edition Release 10.2.0.1.0CREATE TABLE
  TEST3
  (
    ID INTEGER NOT NULL,
    B BLOB,
    PRIMARY KEY (ID)
  );Caché 2014.1/// Generated by the Link Table wizard on 2014-03-13 00:00:01.  Note that you can access the data in this class only when the external database is accessible.
Class TEST.TEST3 Extends %Library.Persistent [ Not ProcedureBlock, SqlRowIdPrivate, SqlTableName = TEST3, StorageStrategy = GSQLStorage ]
{

/// Specifies details for the SQL Gateway Connection that this class uses
Parameter CONNECTION = "jdbc_test,NOCREATE";

/// Specifies the external database that this class uses
Parameter EXTDBNAME = "Oracle";

/// Specifies the external table to which this class refers
Parameter EXTERNALTABLENAME = "TEST.TEST3";

Property B As %Stream.GlobalBinary(CLASSNAME = 2, EXTERNALSQLNAME = "B", EXTERNALSQLTYPE = 2004) [ SqlColumnNumber = 3, SqlFieldName = B ];

Property ID As %Numeric(EXTERNALSQLNAME = "ID", EXTERNALSQLTYPE = 3, MAXVAL = 9223372036854775807, MINVAL = -9223372036854775808, SCALE = 0) [ ReadOnly, Required, SqlColumnNumber = 2, SqlFieldName = ID ];

Index MainIndex On ID [ IdKey, PrimaryKey ];

<Storage name="GSQLStorage">
  <ExtentSize>100000</ExtentSize>
  <StreamLocation>^TEST.TEST3S</StreamLocation>
  <Type>%CacheSQLStorage</Type>
</Storage>
}
...
Рейтинг: 0 / 0
BLOB
    #38585104
Ower
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ!

Извините, забыл упомянуть что версия нашей Каши 2008.1.1 (Build 579U).
Возможно, это и является причиной отсутствия поддержки BLOB через SQL Gateway.
...
Рейтинг: 0 / 0
BLOB
    #38585821
D_De1mos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сталкивались с подобной проблемой при передаче CLOB, просто поменяйте в сгенерированной таблице тип поля руками, на 2009-м и 2010-м каше работает.
...
Рейтинг: 0 / 0
BLOB
    #38585822
D_De1mos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работает в смысле, что после ручного редактирования данные начинают нормально приходить.
...
Рейтинг: 0 / 0
BLOB
    #38586223
Ower
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, попробовали.
Не получилось.

Каша отказывается сохранить объект класса, соответствующего оракловой таблице, выдавая оракловую ошибку ORA-01465 (invalid hex number).
Это притом, что в свойство типа %GlobalBinaryStream (тип мы как раз подправили вручную) мы пишем значение из другого %GlobalBinaryStream методом CopyFrom().
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / BLOB
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]